Reading from a text file in C

I am having trouble reading a specific integer from a file and I am not sure why. First I read through the entire file to find out how big it is, and then I reset the pointer to the beginning. I then read 3 16-byte blocks of data. Then 1 20-byte block and then I would like to read 1 byte at the end as an integer. However, I had to write into the file as a character but I do not think that should be a problem. My issue is that when I read it out of the file instead of being the integer value of 15 it is 49. I checked in the ACII table and it is not the hex or octal value of 1 or 5. I am thoroughly confused because my read statement is `read(inF, pad, 1)` which I believe is right. I do know that an integer variable is 4 bytes however, there is only one byte of data left in the file so I read in only the last byte. My code is reproduced the function(it seems like a lot but it don't think it is) the code is #include #include #include #include int main(int argc, char** argv) { char x; int y; int bytes = 0; int num = 0; int count = 0; num = open ("a_file", O_RDONLY); bytes = read(num, y, 1); printf("y %d\n", y); return 0; } To sum up my question, how come when I read the byte that stores 15 from the text file, I can't view it as 15 from the integer representation? Any help would be very appreciated. Thanks!
I can't quite find out what you're doing with the data, so you probably should reduce your code to something simpler, like "read a number from a file" and "write a number to a file" -- it's much easier to experiment with.

以上就是Reading from a text file in C的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » CSS3 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准