| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 793 人关注过本帖
标题:读取文件中的数据出错,不知道哪里有问题
只看楼主 加入收藏
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:222
专家分:524
注 册:2011-10-26
结帖率:88.24%
收藏
已结贴  问题点数:20 回复次数:18 
读取文件中的数据出错,不知道哪里有问题
#include<stdio.h>
main()
{
    int i;
    char str[30];
    FILE *fp;
    fp=fopen("123.txt","r+");
    while(!feof(fp))
    {
        i=0;
        fscanf(fp,"%s",str);
        while(str[i]!='\0')
            i++;
        str[i+0]='@';
        str[i+1]='q';
        str[i+2]='q';
        str[i+3]='.';
        str[i+4]='c';
        str[i+5]='o';
        str[i+6]='m';
        str[i+7]='\0';
        
        printf("%s\n",str);
        
    }
    fclose(fp);
}
程序是想从一个文本文件中读入数据,如:123,456,7897,输出:123@,456@,7897@
但是程序执行次数有误,输出的也不是正确的结果,是什么原因呀
搜索更多相关主题的帖子: include 
2014-04-17 13:45
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
这个代码没问题 你可以测试一下

程序代码:
#include<stdio.h>
int main()
{
    int i;
    char str[30];
    FILE *fp;
    fp=fopen("d:\\123.txt","r+");
    while(!feof(fp))
    {
        i=0;
        fscanf(fp,"%s",str);
        if(!feof(fp))
        {
            while(str[i]!='\0')
                i++;
            str[i+0]='@';
            str[i+1]='q';
            str[i+2]='q';
            str[i+3]='.';
            str[i+4]='c';
            str[i+5]='o';
            str[i+6]='m';
            str[i+7]='\0';

            printf("%s\n",str);
        }

    }
    fclose(fp);
    return 0;
}

DO IT YOURSELF !
2014-04-17 13:57
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
收藏
得分:0 
我用VC6.0编译的没错误。
2014-04-17 14:00
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用Andrew_Lee在2014-4-17 14:00:15的发言:

我用VC6.0编译的没错误。

楼主说的是运行得不到期望的结果

DO IT YOURSELF !
2014-04-17 14:04
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
收藏
得分:10 
回复 4 楼 wp231957
额,结果也没有问题啊。
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 Andrew_Lee 于 2014-4-17 14:12 编辑 ]
2014-04-17 14:09
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
那是原始文件的问题吧

我测试时 是以行为单位进行测试的

楼主给的示例貌似以 逗号 为分隔符

DO IT YOURSELF !
2014-04-17 14:26
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
收藏
得分:0 
那可能是了,应该用是换行或者空格来分隔的。
2014-04-17 14:31
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 6 楼 wp231957
  大神 这程序运行 出现  “0x00401040”指令引用的“0x0000000c”内存。该内存不能为“read”。  这个是什么情况?我遇到好多次了。
2014-04-17 15:22
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用Crazy_li在2014-4-17 15:22:17的发言:

  大神 这程序运行 出现  “0x00401040”指令引用的“0x0000000c”内存。该内存不能为“read”。  这个是什么情况?我遇到好多次了。

哪个程序  代码在哪里

DO IT YOURSELF !
2014-04-17 15:31
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 9 楼 wp231957
就是这个代码 我复制下来 运行 它就显示这个、。。我之前做作业也会遇到这种问题
2014-04-17 15:37
快速回复:读取文件中的数据出错,不知道哪里有问题
数据加载中...
 
   



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

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