fread()函数读文本文件重复读最后一个字符问题【已解决】
2024-10-19 21:35:19
对文本文件读写时遇到一个问题,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读文本文件总会重复读最后一个字符,那么读二进制文件会不会重复呢?
找了几个二进制文件读了下,没有重复读!!
最新文章
- C# XML转JSON,不引用第三方JSON.NET类库
- spider RPC高级特性
- JavaScript基础深入研究
- Spark RDD 多文件输入
- a 标签中调用js的几种方法
- sharepoint2010无法创建网站集
- hdu2571
- ExtJS 添加图标icon
- 阿里云,CentOS下yum安装mysql,jdk,tomcat
- Android 添加、移除和判断 桌面快捷方式图标
- GUI编程笔记(java)10:GUI实现一级菜单
- Java学习之ThreadLocal
- @Autowired与 @Resource
- python多线程爬虫设计及实现示例
- 通过 PackageManager 获得你想要的 App 信息
- PhpStudy如何开启Apache的gzip压缩功能?
- scatter参数
- EXCEL公式及宏
- Tomcat端口被占用解决办法
- Action<;T>; Delegate