| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:[求助]为什么打开关闭文件出来不明字符!
只看楼主 加入收藏
yuerhb
Rank: 1
等 级:新手上路
威 望:1
帖 子:241
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:7 
[求助]为什么打开关闭文件出来不明字符!


此程序运行成功但是有多余的字符出现,我根本没输入的怎么也显示出来了,怎么回事?
#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,key;
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();


}

搜索更多相关主题的帖子: 字符 文件 key 
2007-07-17 09:34
yuerhb
Rank: 1
等 级:新手上路
威 望:1
帖 子:241
专家分:0
注 册:2007-6-1
收藏
得分:0 

#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-07-17 09:38
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
收藏
得分:0 
看着都头大,眼花!

(づ ̄ 3 ̄)づ
2007-07-17 10:34
SpaceC
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-6-20
收藏
得分:0 

帮你改了下,你看看是不是你想要的结果

[CODE]#include<stdio.h>
struct beng{
char type[12];
int num;
int round;
int press;
int angle;
}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%d%d%d%d",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%-14d%-16d%-16d%-d\n",data[i].type,data[i].num,data[i].round,data[i].press,data[i].angle); }
fclose(fp);
getch();
}[/CODE]


2007-07-17 13:29
yuerhb
Rank: 1
等 级:新手上路
威 望:1
帖 子:241
专家分:0
注 册:2007-6-1
收藏
得分:0 
谢谢你,恩,问题解决了
但是要是在结构中输入数组呢?这样行么?

学编程。。。。再难也得上!!!
2007-07-17 13:40
SpaceC
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-6-20
收藏
得分:0 
输入数组也可以的

scanf("%s%d%d%d%d%d%d%d%d%d%d%d%d%d",data[i].type,
&data[i].num[0],&data[i].num[1],&data[i].num[2],&data[i].num[3],
&data[i].round[0],&data[i].round[1],&data[i].round[2],
&data[i].press[0],&data[i].press[1],&data[i].press[2],
&data[i].angle[0],&data[i].angle[1],&data[i].angle[2]);

不过这样输入不方便,很容易出错,建议一个数据一个数据的输入,并打印提示信息

2007-07-17 13:58
yuerhb
Rank: 1
等 级:新手上路
威 望:1
帖 子:241
专家分:0
注 册:2007-6-1
收藏
得分:0 
哦,是吗?谢谢你啊,学了很多!!!嘿嘿

学编程。。。。再难也得上!!!
2007-07-17 14:34
小野猫
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-13
收藏
得分:0 
看来俺还得努力啊 有差距啊!!!

2007-07-17 19:33
快速回复:[求助]为什么打开关闭文件出来不明字符!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020692 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved