gpt4 book ai didi

c - 有没有办法从文件中读取由回车键分隔的字符串?

转载 作者:行者123 更新时间:2023-11-30 19:01:36 24 4
gpt4 key购买 nike

我是一名新程序员,正在学习一些 C 语言。

问题是,我得到一个文件,它的单词是用回车键分隔的,例如:

Apple
Banana
Cinnamon

我想将所有这些数据存储在一个变量(字符串(字符数组))中,但我认为我的 fgets() 函数在找到回车键时会停止。

所以我想知道是否还有其他方法

char* readFile(void){ // 

FILE *text;
text = fopen("text1.txt", "r");

char *words;

words = malloc (sizeof(char)*10);

fgets(words, 2000, text);

fclose(text);

printf("%s\n", words); // Just to see the output

return words;

}

当我读取包含以下内容的文件时:

Apple
Banana
Cinnamon

输出为:

Apple

最佳答案

fgets 用于读取文件中的行。根据手册页:

fgets() reads in at most one less than size characters from stream and stores them into the buffer pointed to by s. Reading stops after an EOF or a newline. If a newline is read, it is stored into the buffer. A terminating null byte ('\0') is stored after the last character in the buffer.

如果你想获取原始数据,请使用fread。该函数的手册页将其描述为:

The function fread() reads nmemb items of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr.

另一种选择是为每行调用 fgets 三次,然后输入就已经被分割了。

走哪条路取决于您想如何处理数据。

关于c - 有没有办法从文件中读取由回车键分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57584446/

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