fwrite()读取长度错误

简介: fwrite()读取长度错误

最近在写elf格式文件的解析和装载过程,打开elf文件使用的是file_elf = fopen(path,"r");在将PT_LOAD类型的segment加载到内存时老师不能够读取到我指定长度的空间,即fread((char *)ProHead->p_vaddr, 1 , ProHead->p_filesz,file_elf )的时候,返回的读取到的长度并不是ProHead->p_filesz这个大小,很是折磨人,不知道问题出在哪里。


猜测是应该遇到了结束符\0 所以提前结束读取,改为二进制读取fopen(path,"rb"); 这样肯定就可以读到指定长度了吧?试了下果然好了!! 记录下,给遇到同问题的朋友一个分享,希望能帮助到大家!


目录
相关文章
|
8月前
[题]写一个函数返回参数二进制中1的个数。
[题]写一个函数返回参数二进制中1的个数。
33 1
C# (File方法)对文件的操作,字节写入和读取
C# (File方法)对文件的操作,字节写入和读取
|
机器学习/深度学习 C语言
【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )
【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )
521 0
【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )
|
存储 数据安全/隐私保护
scanf函数读取数据 & 清空缓冲区
scanf函数读取数据 & 清空缓冲区
421 0
模拟实现库函数strcat--将源字符串的副本追加到目标字符串(理解内存重叠问题)
模拟实现库函数strcat--将源字符串的副本追加到目标字符串(理解内存重叠问题)
|
缓存 数据安全/隐私保护 程序员
getchar函数输入与缓冲区
getchar函数输入与缓冲区
157 0
strlen库函数求字符串的长度和三种模拟实现方法
strlen库函数求字符串的长度和三种模拟实现方法
154 0
strlen库函数求字符串的长度和三种模拟实现方法
详解字符串追加函数:strcat的使用及模拟实现
详解字符串追加函数:strcat的使用及模拟实现
165 0
详解字符串追加函数:strcat的使用及模拟实现
|
C语言
复习C部分:1.设置关机程序 2.函数(strcpy,memset----替换函数;库函数;写一个函数,用该函数实现比较两个数的最大值;写一个数,交换两个整数类型的值)
复习C部分:1.设置关机程序 2.函数(strcpy,memset----替换函数;库函数;写一个函数,用该函数实现比较两个数的最大值;写一个数,交换两个整数类型的值)
98 0

热门文章

最新文章