我正在处理一个任务,需要读取文件并统计其中的行数和单词数。我尝试使用getline和strtok结合while循环的方法,但没有成功。
文件名:example.txt(待读取的文件)。
引用: “嗨,你好,真是个惊喜。 欢迎来到这里。 祝你在这里过得愉快。 (3行,若干单词)。”
Readfile.cpp
文件名:example.txt(待读取的文件)。
引用: “嗨,你好,真是个惊喜。 欢迎来到这里。 祝你在这里过得愉快。 (3行,若干单词)。”
Readfile.cpp
#include <iostream>
#include <fstream>
#include<string>
using namespace std;
int main()
{
ifstream in("example.txt");
int count = 0;
if(!in)
{
cout << "Cannot open input file.\n";
return 1;
}
char str[255];
string tok;
char * t2;
while(in)
{
in.getline(str, 255);
in>>tok;
char *dup = strdup(tok.c_str());
do
{
t2 = strtok(dup," ");
}while(t2 != NULL);
cout<<t2<<endl;
free (dup);
count++;
}
in.close();
cout<<count;
return 0;
}