Chinaunix

标题: 一个关于文件操作的问题,请高首赐教!! [打印本页]

作者: supersuper    时间: 2004-09-22 00:36
标题: 一个关于文件操作的问题,请高首赐教!!
我想把一个结构体写到一个文件里,
例如结构体
struct inter_host
{
            inter_host->;tr_code[100],
            inter_host->;old_tr_code[50],
            inter_host->;card_no[60],
            inter_host->;card_expired[]10,
            inter_host->;term_id[]104,
            
}
结构体比较大,写入到文件aaa中               
执行语句
fp1=fopen("aaa","w";
fwrite(inter_host,sizeof(*inter_host),1,fp1);
但执行完后文件aaa里没有写入的数据,请问该怎么办??
作者: napleon    时间: 2004-09-22 07:17
标题: 一个关于文件操作的问题,请高首赐教!!
========================================
struct inter_host
{
inter_host->;tr_code,
inter_host->;old_tr_code,
inter_host->;card_no,
inter_host->;card_expired,
inter_host->;term_id,
。。。。。。。。。
}inter_host;
========================================
??????
作者: hmily_sh    时间: 2004-09-22 08:52
标题: 一个关于文件操作的问题,请高首赐教!!
fwrite(inter_host,sizeof(interhost),1,fp1);
作者: 黄山松    时间: 2004-09-23 14:19
标题: 一个关于文件操作的问题,请高首赐教!!
应该是:
fwrite(&inter_host, sizeof(inter_host), 1, fp1)
作者: yuxh    时间: 2004-09-23 16:55
标题: 一个关于文件操作的问题,请高首赐教!!
你的意思是inter_host为一个指针,sizeof(*inter_host)是无法确定其长度的。用sizeof(inter_host)则只得到指针长度,一般为4
可以用fwrite(inter_host,sizeof(struct inter_host), 1, fp1);
作者: narry    时间: 2004-09-23 18:16
标题: 一个关于文件操作的问题,请高首赐教!!
楼上说得
作者: aero    时间: 2004-09-24 09:12
标题: 一个关于文件操作的问题,请高首赐教!!
sizeof(*inter_host)是可以确定指针指向数据类型的大小的。
比如p是一个char *类型的指针,那么sizeof(*p)就和sizeof(char)是等价的。
作者: mfmain    时间: 2004-09-24 10:03
标题: 一个关于文件操作的问题,请高首赐教!!
楼主的代码没有问题,请检查:
1 是否有权限写aaa
2 是否fclose(fp)
3 检查aaa文件的大小,是否已写入sizeof(...)字节
4 你是如何确认文件aaa里没有写入的数据的,是否检查手段有问题,实际已写入




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2