这段代码有什么问题? 我正在尝试在 input.txt 中搜索单词 TID 输入.txt-
一点一点 TID:fjkcgbkn
在output.txt中只显示0
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
int main()
{
int con=0;
ifstream fi;
fi.open("input.txt");
char word[3];
while(!fi.eof())
{
fi.get(word,3,' ');
if (strcmp(word,"TID") == 0)
con++;
}
fi.close();
ofstream fo;
fo.open ("output.txt");
fo<<con<<"\n";
fo.close();
return 0;
}
最佳答案
是因为当你这样使用引号时:
"TID"
在内存中是这样保存的
TID\0
其中\0 是字符串结尾的标记。
您可以在“\0”末尾添加到变量 word
,它应该可以工作(将大小更改为 4:)
关于C++计算文件中单词的出现次数并写入另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22421950/