我已经开始学习如何使用字符串,但我对整个概念有点困惑。我正在尝试从包含字符串的文件中逐字读取。
这是文件:
Row, row, row your boat,
Gently down the stream.
Merrily, merrily, merrily, merrily,
Life is but a dream.
我的方法是使用
char hold[25];
// Statement
while(fscanf(fpRow, "%s", hold) != EOF)
printf("%s %d\n", hold, strlen(hold));
所以我的任务是读取每个字符串并排除所有 , 和 . 在文件中。这样做的方法是使用 %[^,.] 而不是 %s 对吗?但是当我尝试这种方法时,我的字符串只想读取文件的第一个单词并且循环永远不会退出。有人可以向我解释我做错了什么吗?另外,如果不问太多 fscanf 和 fgets 之间的意义是什么?谢谢
while(fscanf(fpRow, "%24[^,.\n ]", hold) != EOF)
{
fscanf(fpRow, "%*c", hold);
printf("%s %d\n", hold, strlen(hold));
}