gpt4 book ai didi

C++计算一行中有多少个单词

转载 作者:行者123 更新时间:2023-11-30 02:34:13 25 4
gpt4 key购买 nike

我正在使用这段代码来计算文本的行数,但我还需要计算字数并显示以控制每行中有多少字。

int main(int argc, char *argv[]){

ifstream f1("text.txt"); ;
char c;
string b;
int numchars[10] = {}, numlines = 0;

f1.get(c);
while (f1) {
while (f1 && c != '\n') {

// here I want to count how many words is in row
}

cout<<"in row: "<< numlines + 1 <<"words: "<< numchars[numlines] << endl;
numlines = numlines + 1;
f1.get(c);
}

f1.close();
system("PAUSE");
return EXIT_SUCCESS;
}

最佳答案

要计算行数和单词数,您可以尝试将其分解为两个简单的任务:首先使用 getline() 阅读文本中的每一行然后,使用 stringstream 从一行中提取每个单词,在每次成功(读取行或提取单词)操作之后,您可以递增两个代表行数和单词数的变量。

上面的代码可以这样实现:

ifstream f1("text.txt"); 
// check if file is successfully opened
if (!f1) cerr << "Can't open input file.";

string line;
int line_count = 0

string word;
int word_count = 0;

// read file line by line
while (getline(f1, line)) {

// count line
++line_count;

stringstream ss(line);

// extract all words from line
while (ss >> word) {

// count word
++word_count;
}
}

// print result
cout << "Total Lines: " << line_count <<" Total Words: "<< word_count << endl;

关于C++计算一行中有多少个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34664964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com