1、把写文件代码全弄上来才能知道哪里错了。看样子buf应该是二维数组,那么写一行应该是fputs(buf[x],fptr);这样的格式,其中x是数组行下标。以上只是猜测,不见得说得一定准确。
阳谷网站建设公司成都创新互联,阳谷网站设计制作,有大型网站制作公司丰富经验。已为阳谷上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的阳谷做网站的公司定做!
2、可以看到,程序调用fputs()函数,往打开的test.txt文件写入数据。直接写入一个字符串。然后,关闭文件,再重新打开文件。
3、fputs是一种函数,具有的功能是向指定的文件写入一个字符串(不自动写入字符串结束标记符\0)。成功写入一个字符串后,文件的位置指针会自动后移,函数返回为一个非负整数;否则返回EOF(符号常量,其值为-1)。
4、fputs的第一个参数是const char *,但是你传入了一个struct aa *,所以出现这个警告。消除警告的方法:改成:fputs((char *)ff,w);但是即使这么改了,我估计还是要出错。
5、如果fputs(asdf\nKJHGF,fp);的话,应该可以写入2行的。另外,在循环中使用,也可以写入多行的。
6、文件指针的问题,一般来说,同时读写一个文件并不可取。
fread:是读取数据 fwrite:是写入数据 函数功能 用来读写一个数据块。
因为 fputs(str,fp);和 printf(%s,str);另外这个设计虽然能实现,但是设计的不好。
scanf是看到空格和回车都认为是结束,而gets可以接受空格,只把回车当做结束。字符串输入输出的时候这两个函数用的频率还是蛮高的。再就是后面文件方面的输入输出,fgetc()/fputc()/fgets()/fputs(),有兴趣可以看一下。
1、可以看到,程序调用fputs()函数,往打开的test.txt文件写入数据。直接写入一个字符串。然后,关闭文件,再重新打开文件。
2、文件指针的问题,一般来说,同时读写一个文件并不可取。
3、//用函数fputs写入时,可以通过写入\n或\r\n来写入换行符,但fputs不会自动在字符串的末尾追加换行符。//函数fgets的原型是:char* fgets(char *str,int num,FILE *stream)。
4、hint main(){FILE *fp1,*fp2,*fp3;char c[10];gets(c);if((fp1=fopen(2txt,w+))==NULL)//加上括号 先赋值 再判断。
5、fputs函数的作用是向指定的文件输入一个字符串。例如:fputs(China,fp);把字符串“China”输出到fp指向的文件。fputs函数中第一个参数可以是字符串常量、字符数组名或字符型指针。字符串末尾的\0不输出。
6、乱码是没有初始化的内存。你将字符a赋给了x,p指向x,最后将p所指的字符串写入文件,你用的是puts,这个函数会遇到‘\0’才会结束,所以才会有乱码,你应该用fputc而不是fputs。