c语言用fgets读入并且输出的问题

abandon vt.丢弃;放弃,抛弃
abstract a.抽象的 n.摘要

要编写字典,像第一个单词这种单词与解释之间只有一个空格的可以直接用fscanf读入两次,存入word和meaning中,但像第二个这种,两个解释之间还有一个空格,为了meaning中包含这个空格,这种后边的解释可以单独用fgets读入么,,具体应该怎么写?

先用fscanf读入单词 然后用fgets获取整行就行
fgets的作用就是从当前位置读到行尾追问

具体格式怎么写??fgets(str,n,fp),如果想让它获取整行,中间这个n怎么写

追答

第二个n是最大读取的字符数 防止溢出的

只要你的str能确定放得下 这个n越大越好 一般来说 n的值设置为str可用空间的大小
比如
char str[100];
fgets(str, 100, fp);
这样如果该行剩余不足100个字节 那么有多少读多少
如果超过100个字节,那么只读100个字节

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-08
char word[32];
char meaning[128];
FILE *fp;

fp=fopen( "dict.txt", "r" );
fscanf( fp, "%s", word );

fgets( meaning, sizeof(meaning), fp );
按以上代码,试一下
相似回答