对文本文件读写时遇到一个问题,fread()读所有内容的时候文件的最后一个字符总会重复读,我的代码如下:

    FILE* file = nullptr;
fopen_s(&file, "D:\\test.ini", "r");
const uint32_t nlen = 1024;
std::unique_ptr<char[]> qpFile(new char[nlen]);
char* chTemp = qpFile.get();
memset(chTemp, 0,nlen );
size_t isize = fread(chTemp, sizeof(char), nlen , file);
fclose(file);
file = nullptr;

  test.ini文件内容如下:

  调试 chTemp="[test]\nkey=valuee",多了一个字符,但是读出的字节数isize=16 !!后面又尝试其它内容,总会重复读最后一个字符,

  然后就这样改了下:

    FILE* file = nullptr;
fopen_s(&file, "D:\\test.ini", "r");
const uint32_t nlen = 1024;
std::unique_ptr<char[]> qpFile(new char[nlen]);
char* chTemp = qpFile.get();
memset(chTemp, 0,nlen );
size_t isize = fread(chTemp, sizeof(char), nlen , file);
chTemp[isize] = '\0';//读的重复字符改为结束符
fclose(file);
file = nullptr;

  再看chTemp="[test]\nkey=value",解决问题。

  fread读文本文件总会重复读最后一个字符,那么读二进制文件会不会重复呢?

  找了几个二进制文件读了下,没有重复读!!

  

最新文章

  1. C# XML转JSON,不引用第三方JSON.NET类库
  2. spider RPC高级特性
  3. JavaScript基础深入研究
  4. Spark RDD 多文件输入
  5. a 标签中调用js的几种方法
  6. sharepoint2010无法创建网站集
  7. hdu2571
  8. ExtJS 添加图标icon
  9. 阿里云,CentOS下yum安装mysql,jdk,tomcat
  10. Android 添加、移除和判断 桌面快捷方式图标
  11. GUI编程笔记(java)10:GUI实现一级菜单
  12. Java学习之ThreadLocal
  13. @Autowired与 @Resource
  14. python多线程爬虫设计及实现示例
  15. 通过 PackageManager 获得你想要的 App 信息
  16. PhpStudy如何开启Apache的gzip压缩功能?
  17. scatter参数
  18. EXCEL公式及宏
  19. Tomcat端口被占用解决办法
  20. Action&lt;T&gt; Delegate

热门文章

  1. Kubernetes(k8s)控制器(二):DaemonSet
  2. QT 5 中文乱码,试试在PRO文件加入这几行代码
  3. 聊一聊HTTPS双向认证的简单应用
  4. Vue3
  5. Java 优化:读取配置文件 &quot;万能方式&quot; 跨平台,动态获取文件的绝对路径
  6. Apache Hudi 负载类Payload使用案例剖析
  7. Art of Illusion 一款**的开源 3D 建模和渲染软件
  8. Java语法基础课程总结
  9. Python爬虫:原来微博上的视频下载链接在这啊
  10. ftpget