我的意图是读每一行的前5个字。2但是当我运行这个代码时,文本文件中的每个字都打印出来了。3谁能告诉我为什么会这样?
int main(void){
char const* const fileName = "text.dat";
FILE* file = fopen(fileName, "r");
if (!file) {
printf("\n Unable to open : %s ", fileName);
return -1;
}
char line[50];
while (fgets(line, 5, file)) {
printf("%s", line);
}
fclose(file);
return 0;
}
我的意图是读每一行的前5个字。2但是当我运行这个代码时,文本文件中的每个字都打印出来了。3谁能告诉我为什么会这样?
1条答案
按热度按时间wj8zmpe11#
您可能希望使用字符串函数“strtok”来拆分和计算单词。
然后使用以下数据建立一个简单的文本文件。
以下是产生的输出。
有关使用“strtok”函数的更多信息,您可能需要参考此链接strtok usage。
给予一下,看看它是否符合你的项目的精神。