中易网

fwrite写入int

答案:2  悬赏:60  
解决时间 2021-02-18 06:39
32位xp平台,源码如下:
#include "stdio.h"
int main()
{
FILE *file = fopen("E:/test.dat", "w+");
int a = 2583;
fwrite(&a, sizeof(int), 1, file);
fclose(file);
return 0;
}
用gcc编译,执行后用UE查看值为:17 0D 0A 00 00。为什么多出一个字节?
最佳答案
fwrite用与二进制读写 ,你只是用w+打开,应该是wb+
全部回答
#include #include void aaa(); struct student { char name[5]; //姓名 int age; //年龄 int num; //学号 char addr[5]; //地址 }stu[4]; void main() { int i; printf("请输入4个学生姓名、年龄、学号、地址,按回车!\n"); for(i=0;i<4;i++) { scanf("%s%d%d%s",stu[i].name,&stu[i].age,&stu[i].num,stu[i].addr); } aaa(); } #define max_buf 1000 void aaa() { file *fp; int i; char outbuf[max_buf]; char tempbuf[50]; memset(outbuf,0,max_buf); if((fp=fopen("123.txt","w"))==null) { printf("无法打开文件!\n"); return; } strcpy(outbuf,"姓名 年龄 学号 地址"); for(i=0;i<4;i++) { sprintf(tempbuf,"\n%s %d %d %s",stu[i].name,stu[i].age,stu[i].num,stu[i].addr); strcat(outbuf,tempbuf); } if(fwrite(outbuf,strlen(outbuf),1,fp)!=1) { printf("写入错误!\n"); } fclose(fp); } 你的问题在于你要输出一个文本,但是你却没有进行文本编辑,直接把数据结构中的数据输出,这样是二进制的,不是文本的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
读尽青山诗未老,斟来往事忆犹新。
360极速浏览器怎么设置 每次请求重新加载js
N卡吃U是不是真的
生我气后,发消息不理我,又有时主动发消息给
智齿拔除后旁边的牙很痛
图纸坐标和cad坐标怎么转换?让我可以直接查
刚进华为的仓管员底薪待遇有多少?
小红妈妈十月份的工资是4800元,按规定,超过35
好郁闷啊 年纪越大对象越不好找
洛奇英雄传东西太多了放不下怎么办
三星note5有几个颜色 三星note5哪个颜色好看
怎么点亮3366图标
2013江西财经大学现代经济管理学院是2本还是3
清代刘锡才将意境分为哪几类?
相宜本草18岁女生能用么?在线等待~
推荐资讯
怎样查么托车违章
选择题。会计利润是( ) 1反映企业的盈亏状
2010海南大学在海南最低录取分数线
笔记本电脑XP系统不能上网可能有哪些原因?
苏州泰华商场中有卖ADIDAS三叶草的吗?
云雾蒸腾的近义词?
天下3怎么卖东西?道具栏里都满了·····
大家谁有ocr 开发包提供一下
香港公屋一人单位租金多少?
老婆朋友的处理方法
给水管50*2.4*1.0mpa是什么意思
迅雷赚钱宝秘银有什么用
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?