您的位置:

c语言fprintf写入文件空白,fprintf写入文件为空

本文目录一览:

C语言怎么把字符串用fprintf写入文本文件?

把把字符串写入文件,基本示例如下:

FILE *fp;

char s[]= "hello world!";

char c = '\n';

fp = fopen("file.txt","a");

fprintf(fp,"%s",s); //字符串使用%s

fprintf(fp,"%c",c); //字符使用%cfclose(fp);从文件读取到字符串 char s1[30];fp=fopen("file.txt","r");fscanf(fp, "%[^\n]\n", s1);printf("%s\n",s1);fclose(fp); 本来挺简单的一件事,可是让我头疼了好几个小时。

在前面写了 fp = fopen("file.txt","a");

fprintf(fp,"%s",s); //字符串使用%s

但是fclose(fp);这句被我写在了return 0;之前,然后字符串死活写不进文件里面去。后来终于发现是因为使用了while(1)循环读取端口数据,所以一直没有执行fclose(fp);这句,才导致文件里面一直是空的。所以fclose(fp);这句话不要忘记了哦~~ :)

C语言文件操作用fprintf()函数为什么保存的文件前空一行

你在while循环前,fprintf(fp, "%d\n", n);所以文件第一行的 1 应该是n的值,然后\n换了行,所以你的数据写到了第二行

c语言文件读写问题,文件没内容?程序是照着书上搬出来的,运行啥都没问题就是生成的文件里面看不到内容

代码上几个错误:

a)文件名的存储空间只有10个字符,而你输入的也是10个字符,字符串末尾要增加一个\0字符,所以你已经内存访问越界了,文件名数组习惯定义的大小是MAX_PATH,也就是250字符左右

b) 你使用的是不带文件路径的文件名,这样的文件名的具体位置依赖于”当前路径“,而很多人对当前路径的理解是错误的,它不是可执行文件所在位置,所以也许你看了不同位置的文件。你先试试输入完整路径再说

c)你在不停检查fp !=NULL,注意,除非你主动设置fp=NULL否则一旦它有值无论文件后续是否被关闭,它都不是NULL,所以只有fopen后那一个fp!=NULL有意义,其他都是错误

现在很多书都是垃圾,所以书照搬不是好标注,还是要好好理解语言,不要过分相信书

求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。

这具体要看你的num和stu[]数组的情况了。还有,这程序写的是二进制文件,而且文件没有扩展名。这都是在查看文件时要注意到的。经验证,这个程序是可以写入文件的。

C语言fprintf函数写不进去数据是咋回事?

这么深的嵌套函数基本很难看懂的,所以首先你要简化一下逻辑,避免这么复杂的嵌套语句.一般来说,内嵌超过层时最多的,超过了就有问题

至于看问题,肉眼时看不出来的,因为谁也不知道你fprintf时实际写入的东西是啥.有两个核心的点

a) 在fprintf处加断点,看看写入的数据是否在数组范围内,是否越界,写入的数据是否合法

b) 检查fprintf的返回值,看看是否报错

绝大部分错误都不是看出来的,调试是程序员必备技能