首页 理论教育C语言字符串数据的读写方法

C语言字符串数据的读写方法

【摘要】:在C程序中,可以通过标准库函数fgets和fputs对文件中的字符串数据进行读写。函数fgets的返回值为s对象的首地址,若直接读到文件结尾标志或操作出错时则返回NULL。为了将输入的字符串分隔开,结合fgets函数在读到'\n'时会结束一次函数调用的特点,在每个字符串写入文件后再用fputc函数在字符串后写入一个换行符'\n',用以分隔写入的字符串数据。编写程序实现功能:打开例5.5创建的数据文件,将文件中的字符串数据读出并显示在屏幕上。

在C程序中,可以通过标准库函数fgets和fputs对文件中的字符串数据进行读写。fgets和fputs的原型如下:

char*fgets(char*s,int n,FILE*stream);

int fputs(const char*s,FILE*stream);

函数fgets的功能是:从与文件指针stream相关联的文件中最多读取n-1个字符,添加上字符'\0'构成字符串后存放到s所代表的字符串对象中去。如果在读入n-1个字符前遇到换行符'\n'或文件结束符EOF时操作也将结束,将遇到的换行符作为一个有效字符处理,然后在读入的字符串末尾自动加上一个字符串结尾符'\0'后存放到s所代表的字符串对象中。函数fgets的返回值为s对象的首地址,若直接读到文件结尾标志或操作出错时则返回NULL。

函数fputs的功能是:将s所代表的字符串写入文件指针stream相关联的文件。函数fputs正常执行时返回写入文件中的字符个数,函数执行出错时返回值为EOF(-1)。(www.chuimin.cn)

【例7.5】 从键盘上读入若干行字符串并将它们存放到指定文件中,仅输入一个回车时结束输入过程。

由于fputs函数将字符串写入文件时会去掉串结尾符号'\0',这样会使得连续输入的字符串连接在一起。为了将输入的字符串分隔开,结合fgets函数在读到'\n'时会结束一次函数调用的特点,在每个字符串写入文件后再用fputc函数在字符串后写入一个换行符'\n',用以分隔写入的字符串数据。

【例7.6】 编写程序实现功能:打开例5.5创建的数据文件,将文件中的字符串数据读出并显示在屏幕上。