我需要从 C 语言的文件中读取内容并将每个单词放入数组中, 单词中不应包含空格(当到达空格时,它应该结束复制该单词),但只要找到它,\n 就必须包含该单词。
fscanf(arquivo,"%s",palavras[i].string);
几乎可以工作,但是当在文件中找到它时,它不包括\n ..
fgets (temp , 100 , arquivo);
不起作用,因为它在找到空格时不会停止。
大家觉得怎么样?
最佳答案
在这种情况下,
fscanf
将在到达任何类型的空白(包括换行符)时停止。您可以尝试使用 fgets
读取整行(包括换行符),然后迭代地使用 strtok
将其分解。
例如:
char temp[100];
char *tok;
fgets (temp , 100 , arquivo);
while ((tok = strtok(temp, " ")) != NULL) {
// 'tok' points to a null-terminated word with no spaces
}
关于C:读取单词并在其中包含\n,但不包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17572628/