| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 566 人关注过本帖
标题:简单的文件的操作~有点诡异
只看楼主 加入收藏
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
简单的文件的操作~有点诡异
程序代码:
#include<stdio.h>
#include<stdlib.h>
void insert(int a[11],int n,int x)
{
    int i;
    for(i=0;i<10;i++)//验证是否读取数据成功
        printf("%4d",a[i]);
  
    for(i=10;i>n;i++)
    {
        a[i]=a[i-1];
    }
    a[i]=x;
}
void main()
{
    FILE *fp;
    int a[11],n,i=0,x;
    printf("请输入要插入的数x:\n");
    scanf("%d",&x);
    while(1)
    {
        printf("请输入一个整数n:\n");
       scanf("%d",&n);
        if(n<=10)
            break;
    }
  
  
    if((fp=fopen("f:\\test4-2.txt","r+"))==NULL)
    {
        printf("can not open the file\n");
        exit(0);
    }
    for(i=0;i<10;i++)//读取文件数据
        fscanf(fp,"%d",&a[i]);
  
    insert(a,n,x);
    printf("哈哈\n");//这是我验证输出结果的,结果是连这个输出语句还有下面的代码都没执行?为什么啊????
    rewind(fp);//文件指针重新指向文件开头
    for(i=0;i<11;i++)
    {
      
        fprintf(fp,"%d",a[i]);
        printf("%d",a[i]);
    }
    fclose(fp);
}
       
问题描述:磁盘文件test4-2.txt(我指定的路径是f盘!)里面有1 2 3 4 5 6 7 8 9 10 十个数字
要求在地n个位置后插入一个数x
比如输入 n为3,x 为112
应输出为1 2 3 112 4 5 6 7 8 9 10并把结果写入到原文件
可是问题出现了~具体情况在我注释中写明了,麻烦给看看哈~
搜索更多相关主题的帖子: 文件 
2010-10-15 21:22
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:5 
你的insert 有问题
2010-10-15 21:36
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<stdlib.h>
void insert(int a[11],int n,int x)
{
    int i;
    for(i=0;i<10;i++)//验证是否读取数据成功
        printf("%4d",a[i]);

 
    for(i=11;i>n;i--)  //这里写错了
    {
        a[i]=a[i-1];
    }
    a[i]=x;
}
void main()
{
    FILE *fp;
    int a[11],n,i=0,x;
    printf("请输入要插入的数x:\n");
    scanf("%d",&x);
    while(1)
    {
        printf("请输入一个整数n:\n");
       scanf("%d",&n);
        if(n<=10)
            break;
    }

 

 
    if((fp=fopen("f:\\test4-2.txt","r+"))==NULL)
    {
        printf("can not open the file\n");
        exit(0);
    }
    for(i=0;i<10;i++)//读取文件数据
        fscanf(fp,"%d",&a[i]);

 
    insert(a,n,x);
    printf("哈哈\n");//这是我验证输出结果的,结果是连这个输出语句还有下面的代码都没执行?为什么啊????
    rewind(fp);//文件指针重新指向文件开头
    for(i=0;i<11;i++)
    {
     
        fprintf(fp,"%d",a[i]);
        printf("%d",a[i]);
    }
    fclose(fp);
}
有是水平哦!

If You Want Something, Go Get It, Period.
2010-10-15 22:11
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
汗~,谢谢咯~,不过二楼那句话是什么意思啊
2010-10-15 23:10
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
回复 4楼 遮天云
有失水准!!!

If You Want Something, Go Get It, Period.
2010-10-15 23:27
cacker
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-16 00:05
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
呃~,谢谢指点咯,我会慢慢的把代码规范化,不断改进
2010-10-16 06:49
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:0 
回复 4楼 遮天云
insert 的问题  3楼已帮你改正   这问题不应该有的···呵呵
2010-10-16 11:14
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
回复 8楼 TGM316750432
我都郁闷咯~硬是没检查出来啊~,脑子就是没转过来~,思路没放在那个insret上
2010-10-16 13:27
快速回复:简单的文件的操作~有点诡异
数据加载中...
 
   



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

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