十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
文件指针的问题,一般来说,同时读写一个文件并不可取。
成都创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,服务器托管,服务器托管,成都多线服务器托管等服务器托管服务。
//用函数fputs写入时,可以通过写入\n或\r\n来写入换行符,但fputs不会自动在字符串的末尾追加换行符。//函数fgets的原型是:char* fgets(char *str,int num,FILE *stream)。
fputs的第一个参数是const char *,但是你传入了一个struct aa *,所以出现这个警告。消除警告的方法:改成:fputs((char *)ff,w);但是即使这么改了,我估计还是要出错。
C语言提供了fgets()、fputs()函数对文件进行读写“一行”的数据,字符串以\n字符换行,注意,所谓的“一行”数据,它的最后一个有效字符是’\n’,表示换行符号。
if(line[1]==*) a=(int(line[0])-48)*(int(line[2])-48);if(line[1]==/) a=(int(line[0])-48)/(int(line[2])-48);fputs(line,fp2);fputc(=,fp2);我觉的你这里是有问题的。
如果fputs(asdf\nKJHGF,fp);的话,应该可以写入2行的。另外,在循环中使用,也可以写入多行的。
1、//用函数fputs写入时,可以通过写入\n或\r\n来写入换行符,但fputs不会自动在字符串的末尾追加换行符。//函数fgets的原型是:char* fgets(char *str,int num,FILE *stream)。
2、看来你对fgets这个函数还不太了解。它的原型是char *fgets(char *s, int n, FILE *stream);它从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。
3、fputs(q,p); 是对的,可以把键盘输入的字符串q(例如abc)输入到文件中。fgets(c,4,p); 也是对的,是可以从文件中读出干刚写入的字符串(例如abc)。
所以,通过这个例子,我们学习了fgetc()、fputc()函数的操作,对文件进行一个字符的读写操作。
string类型是c++的STL中的类型,它用于处理字符串。C语言中使用的字符串是C风格的字符串,即末尾以’\0‘字符为结束符。string类型的字符串,可以调用其成员函数c_str(),来将string类型的对象转成C风格的字符串。
文件指针的问题,一般来说,同时读写一个文件并不可取。
通过fopen打开文件,fputs像文件写入数据,fclose关闭文件。