热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言中fprintf函数写入文件出现空白问题及解决方法

本文目录一览:1、C语言怎么把字符串用fprintf写入文本文件?2、C语言文件操作用fprintf()函数为什么保存的文件前空一行3、c语言文件读写问题,文件没内容?

本文目录一览:


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


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


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


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


  • 5、C语言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的返回值,看看是否报错

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


推荐阅读
author-avatar
索马里7_244
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有