注册 登录
编程论坛 C图形专区

[求助]为什么打开关闭文件出来不明字符!难道真没人会吗?(已经解决)

yuerhb 发布于 2007-07-17 10:32, 1083 次点击


为什么有不明字符输出
我并没输入这样的啊
#include<stdio.h>
struct beng{
char type[12];
int num[4];
int round[3];
int press[3];
int angle[3];
}data[4];
main()
{
FILE *fp;
char ch;
int i;
if((fp=fopen("c:\\WIN-TC\\projects\\stu_list.txt","wb+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("input the data:");
for(i=0;i<4;i++)
{
scanf("%s%4d%3d%3d%3d",data[i].type,&data[i].num,&data[i].round,&data[i].press,&data[i].angle);
fwrite(&data[i],sizeof(struct beng),1,fp); }
rewind(fp);
printf("\ntype number state.round state.press state.angle\n");
for(i=0;i<4;i++)
{
fread(&data[i],sizeof(struct beng),1,fp);
printf("%12s%4d%4d%4d%4d\n",data[i].type,data[i].num,data[i].round,data[i].press,data[i].angle); }
fclose(fp);
getch();
}


[此贴子已经被作者于2007-7-17 15:23:54编辑过]

6 回复
#2
一笔苍穹2007-07-17 11:29
把结构改成:
struct beng{
char type[12];
int num;
int round;
int press;
int angle;
}data[4];

不是没人会。你的帖在这也有两天了,之前我也看到过,里面就一段代码,其它什么都没有,你至少应该告诉别人你的代码是干嘛用的,应该怎样输入,正常状况下会有怎样的输出,而问题出现后输出可能会出什么错误。或者直接在代码里给出相应注释,还有就是你应该把你的代码整理一下再放上来,缩进空格根本看不出来,第一感觉就满乱,这样一来别人怎么会有心思给你解决问题,因为给你解决问题不仅要忍受一段潦草的代码,还要揣测这段代码的意思,估摸它可能会出现的输出结果。这样对解决问题的人来说是不友好的。

我希望大家在这个版块里提的问题都能得到很好的解决,同时也希望大家在讨论问题里能够注意一下代码的风格版式,该整理的整理一下,该给注释的给注释,提问的把准备做好了,答问的就能有的放矢了。

说这段话没有责怪的意思,刚才也是看到yuerhb的签名满坚决的,所以就给点建议,希望能让你少走些弯路,有不中听的,请别见怪。
#3
RockCarry2007-07-17 11:51
这样的问题太基础了,很多书上都有讲解,仔细看看书都能找到答案。
#4
yuerhb2007-07-17 11:56
。哦,知道了,谢谢斑竹,接受你建议,没关系,呵呵。。知道自己的帖子怎么没回应了,以后会注意的。。

[此贴子已经被作者于2007-7-17 12:21:39编辑过]


#5
yuerhb2007-07-17 12:16

我还有个问题就是
其实我是想输入数组,那怎么办?
int num;
int round;
int press;
int angle;
不是我所想要的,我在网上查了很多,觉得没什么错误,能解释下吗?
我就是想写一个结构,结构中有数组,然后在读出来。。。。。
#6
一笔苍穹2007-07-17 17:18
可是你的结构除了第一个char之外后面的无需数组啊,单个的变量就可以保存你的输入,做成数组的话输入的地方代码要改。
#7
yuerhb2007-07-18 08:42
谢谢斑竹,这个问题已经解决了,多谢大家的帮助,我是用什么学什么,看来是应该系统的学一下~~~
1