复习题
第十三章 文件输入/输出¶
1.下面的程序有什么问题?¶
fopen()
|FILE *fopen(const char *filename,const char * mode);
|FILE *fp = fopen("filename",mode)
|打开文件|返回一个文件指针:FILE *fp 指向一个记录文件信息的数据结构例:
fp = fopen("hello_c.txt","r");
|
|fclose()
|int fclose(FILE * stream);
|fclose(fp)
|关闭文件|关闭成功返回0,失败返回EOF(-1),存储空间不足或者被移除都会出现I/O错误,都会导致失败。|
内容中的三个错误点:
fopen()
函数需要提供一个模式(mode)。fclose()
函数需要一个文件指针,不能使用文件名。fputs()
函数的参数顺序调换。(为了代码的可读性,建议在输出字符串结尾加一个换行符(\n)
)
2. 下面的程序完成什么任务?(假设在命令行环境中运行)¶
如果文件可以正常打开,会打开与命令行第一个参数名相同名称的文件,并打印显示文件中的每个数字字符。
3. 假设程序中有下列语句:¶
a.ch = getc();
b.fprintf( ,"%c\n", );
c.putc( , );
d.fclose(); / 关闭terky文件 /
解答说明
4. 编写一个程序,不接受任何命令行参数或接受一个命令行参数。如果有一个参数,将其解释为文件名;如果没有参数,使用标准输入(stdin)作为输入。假设输入完全是浮点数。该程序要计算和报告输入数字的算术平均值。¶
解答说明