标题:各位路过的高手 你们有没有遇到这样的情况?
只看楼主
YUANYANG1991
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2012-4-6
结帖率:100%
已结贴  问题点数:20 回复次数:9 
各位路过的高手 你们有没有遇到这样的情况?
各位路过的高手  你们有没有遇到这样的情况
     当使用文件时,首先向文件中添加一个数据,关掉程序再打开,接着输入的时候,以前数据后面会加上问号,并且时好时坏.程序代码如下
:void write()      /*存入信息,将信息先存入内存*/

{
     FILE *fp;
    fp=fopen ("xinxi.txt","a");
    printf("请输入你想增加的学生信息的人数\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("请输入第%d位同学的学号\n",i+1);
        scanf("%s",&student[i].xuehao);
        printf("请输入第%d位同学的姓名\n",i+1);
        scanf("%s",&student[i].name);
        printf("请输入第%d位同学的性别\n",i+1);
        scanf("%s",&student[i].sex);
        printf("请输入第%d位同学的籍贯\n",i+1);
        scanf("%s",&student[i].jiguan);
        printf("请输入第%d位同学的电话\n",i+1);
        scanf("%s",&student[i].tel);
        printf("请输入第%d位同学的QQ\n",i+1);
        scanf("%s",&student[i].qq);
        printf("请输入第%d位同学的年龄\n",i+1);
        scanf("%s",&student[i].age);
    }
    if (fp==NULL)
    {
        printf("创建文件失败!\n");
   
    }
    for(i=0;i<M;i++)
    {
        fprintf(fp,"%s %s %s %s %s %s %s\n",student[i].xuehao,student[i].name,student[i].sex,
        student[i].jiguan,student[i].tel,student[i].qq,student[i].age);
    }
    fclose(fp);
   


}




   
搜索更多相关主题的帖子: 信息 write 
2012-06-15 21:16
hy1080
Rank: 2
等 级:论坛游民
帖 子:5
专家分:16
注 册:2012-6-15
得分:0 
没看出啥毛病,fopen中加上b试试。
2012-06-15 23:15
YUANYANG1991
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2012-4-6
得分:0 
回复 2楼 hy1080
你好,我用的是"txt",不是二进制文件,好像不能用b
2012-06-16 12:01
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
把student结构定义给我们看看?

My life is brilliant
2012-06-16 12:03
YUANYANG1991
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2012-4-6
得分:0 
回复 4楼 lz1091914999
你好,这是结构体struct student
{
    char xuehao[20];
    char name[10];
    char sex[10];
    char jiguan[20];
    char tel[20];
    char qq[10];
    char age [10];
} student[M];
2012-06-16 18:15
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:20 
for(i=0;i<M;i++) // i<M ? 应该是i < n 吧,仔细点就行了。
    {
        fprintf(fp,"%s %s %s %s %s %s %s\n",student[i].xuehao,student[i].name,student[i].sex,
        student[i].jiguan,student[i].tel,student[i].qq,student[i].age);
    }
    fclose(fp);

My life is brilliant
2012-06-16 19:25
YUANYANG1991
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2012-4-6
得分:0 
以下是引用lz1091914999在2012-6-16 19:25:01的发言:

for(i=0;i
你好,按照你说的改过来了,没有出现以前的情况了.感谢!
2012-06-16 21:00
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
回复 7楼 YUANYANG1991
大家互相学习。。

My life is brilliant
2012-06-16 21:56
w18791981640
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2012-6-17
得分:0 
高手呀

2012-06-17 12:47
韩锋
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-17
得分:0 
高手
2012-06-17 14:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371622-1-1.html




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

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