帮我看一下这样简单的程序为什么编译不能通过呢?

evilgod 2004-08-11 05:52:41
#include "stdio.h"

struct myfriend
{
int num;
char name[4];
char sex;
}friends[2];

FILE *fp;

void main()
{
int j;
friends[1].name="w";
friends[1].num=9906;
friends[1].sex='m';
friends[0].name="w";
friends[0].num=11111;
friends[0].sex='f';
fp=fopen("friend.txt","w");
for(j=0;j<=1;j++)
{
fwrite(&friends[j],sizeof(struct myfriend),1,fp);
}
}
...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
evilgod 2004-08-11
  • 打赏
  • 举报
回复
多谢多谢,书上怎么好象就没讲过这些呢
以前我用fwrite函数往文件里写东西,总是会出现乱码,大概也是要用strcpy转换一下吧?
Kusk 2004-08-11
  • 打赏
  • 举报
回复
楼上说的都不错~``

顺便说一下,程序退出前最好别忘了fclose()
xyz_mw 2004-08-11
  • 打赏
  • 举报
回复
friends[1].name="w"; 改为
sprintf(friends[1].name, "w") ;
后者friends[1].name="123"; //这样类型才匹配

friends[0].name="w"也一样


tuxw 2004-08-11
  • 打赏
  • 举报
回复
friends[1].name="w";

字符数组不能直接赋值,应该用 strcpy
chengzhe 2004-08-11
  • 打赏
  • 举报
回复
name和sex分不开!

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧