在指针的帮助下,文本文件中单词的频率
Frequency of word in text file with help of pointer
如果我的文件中包含了我必须计算其频率的单词,那么它将比实际值多出一个从另一方面来说也没问题。
int n=0;
char search[40];
cin>>search;
char* a=search;
while(fin){
char c[40];
fin>>c;
char* b=c;
if(*a==*b)
n++;
}
cout<<n;
即使我使用strcmp,我该如何克服这个问题,仍然会发生同样的事情。
您的问题在于如何设置循环。
while(fin)
将检查fin
是否有效,直到调用fin >> c
失败(可能在文件末尾(。因此,即使你已经阅读了所有要阅读的内容,你仍然会再次进入循环,运行fin >> c
,它会失败,对c
没有任何作用,然后运行与之前迭代相同的比较。
相反,我会将其重构为:
int n = 0;
char search[40], tmp[40];
cin >> search;
char* a=search;
while(fin >> tmp){
char* b = tmp;
if(strcmp(a, b) == 0) { n++; }
}
cout<<n;
在此处查看它的工作情况(stdin
中的所有内容(:https://ideone.com/sWZtHp
相关文章:
- 文本文件中的单词链表
- 在指针的帮助下,文本文件中单词的频率
- 我们如何在文本文件中找到C++中的几个单词?
- 是否可以在文本文件中找到最长单词的长度,并在同一个文本文件中读取,只需 1 个 while 循环?
- 按单词搜索文件,然后在C++中打印特定行数
- 如何检查流中文件的下一个单词是否为 alpha?
- 从文件中查找单词并替换到其他文件中
- 该程序将.csv文件中的一系列单词放入数组中,然后随机生成句子.但它不起作用
- 如何逐行从文件中获取单词,并在C++中用分号分隔?
- 如何从文件中读取单词,将它们分配给数组并分析其内容?
- 如何在 c++ 中从文本文件中获取特定单词?
- 我们如何重新制作程序以打开xml文件并在价格单词之后读取百分比值并更改此值
- 从之前添加的批处理文件中删除单词
- C++读取大文件并将其保存到字符串中,然后删除特定的随机单词
- C++ 如何检查哪些单词不在 2 个类似文件中
- 显示文件中具有最小给定元音数的单词
- 简单的二分搜索对我不起作用。我正在尝试从文本文件中搜索单词
- 使用结构数组计算文本文件中单词的出现次数C++
- 包含换行符分隔的单词的文件和C++中这些单词的字符串向量的大小是否相同?
- 将文本文件单词插入 AVL