返回信息流1.比如struct 是4字节对齐的,那么而要读的内容是char|int
会不会读的时候char把后面int的前2字节也读进来?
2.fopen的路径是哪里?是直接写文件名还是写详细路径?
比如d:\1\show2003.txt,应该怎么写?
谢谢~
这是一条镜像帖。来源:北邮人论坛 / cpp / #14218同步于 2008/10/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[求助]c里面fread,fwrite 和struct对齐的问题,fopen
tarno
2008/10/17镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
1. 写入的时候是struct写入的,那读出的时候也按struct读出即可;这样就不用考虑对齐问题。
2. fopen后面的路径是完整的路径,如果不写路径,只写文件名,表示的是当前文件夹。
路径分相对路径和绝对路径
相对路径 直接写文件名就是指可执行文件所在的文件夹
绝对路径“d:\1\show2003.txt”应该写成“d:\\1\\show2003.txt"
但是假如给个文件不知道文件里面是怎么写入的呢?
比如:
abc 123
def 456
这样读的话是不是还要考虑空格回车的问题?空格作为分隔符?
【 在 ericyosho 的大作中提到: 】
: 1. 写入的时候是struct写入的,那读出的时候也按struct读出即可;这样就不用考虑对齐问题。
: 2. fopen后面的路径是完整的路径,如果不写路径,只写文件名,表示的是当前文件夹。
fscanf
【 在 tarno 的大作中提到: 】
: 但是假如给个文件不知道文件里面是怎么写入的呢?
: 比如:
: abc 123
: ...................
sscanf
fscanf
【 在 tarno (南风砍树) 的大作中提到: 】
: 但是假如给个文件不知道文件里面是怎么写入的呢?
: 比如:
: abc 123
: ...................
所以就要问你,这个读入读出是怎么进行的。
你用fwrite写入的,就用fread读出。
你用fprintf写入的,就用fscanf读出。
这两个是两种不同的方式。
另外,如果不知道待读入的文件当初是怎么样写入的,上帝也没辙。
只给一个文件的话应该就是fscan比较合适
【 在 ericyosho 的大作中提到: 】
: 所以就要问你,这个读入读出是怎么进行的。
: 你用fwrite写入的,就用fread读出。
: 你用fprintf写入的,就用fscanf读出。
: ...................