当前位置: 代码迷 >> C语言 >> 一个关于fwrite函数的问题
  详细解决方案

一个关于fwrite函数的问题

热度:420   发布时间:2006-06-12 15:16:33.0
一个关于fwrite函数的问题

怎么用fwrite实现以下功能:
  一个输出文件包括二行,第一行是一字符串,第二行是一个整数。关键是行行之间的换行,这个我不会,请高手指教一下,谢谢!
   
  例如:
     zhongguo
100000

数据不是从键盘读入.
      

搜索更多相关的解决方案: fwrite  函数  

----------------解决方案--------------------------------------------------------
以下是引用蓝色神话在2006-6-12 15:16:33的发言:

怎么用fwrite实现以下功能:
  一个输出文件包括二行,第一行是一字符串,第二行是一个整数。关键是行行之间的换行,这个我不会,请高手指教一下,谢谢!

#include<stdio.h>
#include<string.h>
main( )
{
char s[]="zhongguo",t[40]={0}; //必须清零
long d1=123456, d2=0L;
FILE *fp=fopen("c:\\my_test.bin","wb");
fwrite(s,sizeof(char),strlen(s),fp);
fwrite(&d1,sizeof(long),1,fp);
fclose(fp);
/*测试以上代码的实际效果:*/
fp = fopen("c:\\my_test.bin","rb");
fread(t,sizeof(char),strlen(s),fp);
fread(&d2,sizeof(long),1,fp);
fclose(fp);
printf("%s\n%ld\n",t,d2);
}


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-12 08:57:18
蓝色神话

等 级:论坛游民
威 望:1
帖 子:404
专家分:24
注 册:2006-5-11
  得分:0 
谢谢版主了!
----------------解决方案--------------------------------------------------------

对于大数据块,适宜用fwrite()写入二进制文件;
楼主似乎不是这种情况,直接用fprintf()就搞定了。


----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
main( )
{
char s[]="zhongguo",t[40]={0}; //必须清零
long d1=123456, d2=0L;
FILE *fp=fopen("c:\\my_test.bin","wb");
fwrite(s,sizeof(char),strlen(s),fp);
fwrite(&d1,sizeof(long),1,fp);
fclose(fp);
/*测试以上代码的实际效果:*/
fp = fopen("c:\\my_test.bin","rb");
fread(t,sizeof(char),strlen(s),fp);
fread(&d2,sizeof(long),1,fp);
fclose(fp);
printf("%s\n%ld\n",t,d2);
}

"d2=0L"是什么意思啊?

[[italic] 本帖最后由 warmsnake323 于 2007-12-21 16:29 编辑 [/italic]]
----------------解决方案--------------------------------------------------------