| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1133 人关注过本帖
标题:txt文本里有一个数字,介于1到2000之间,fopen把这个文本内容读出来
只看楼主 加入收藏
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:5 
txt文本里有一个数字,介于1到2000之间,fopen把这个文本内容读出来
如果读出1就把它改成2,读出2改成3.。。。。。。。
怎么实现呢?如果用do switch  或者if 那要写2000行啊

ps:上边我只是举个例子,想求教这种问题怎么解决
搜索更多相关主题的帖子: 数字 
2011-12-11 12:14
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:7 
你的问题怎么描述的这么蛋疼?
到底是一个数字? 还是2000个数字?

eg:
int c = 0;

while((c = getc(fp)) != EOF)
{
    if (isdigit(c))
    {
         c = c + 1;
    }
}

eg:
int c = 0;

while((c = getc(fp)) != EOF)
{
    c = c + 1;
}

[ 本帖最后由 BlueGuy 于 2011-12-11 15:31 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2011-12-11 15:25
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
收藏
得分:0 
以下是引用BlueGuy在2011-12-11 15:25:32的发言:

你的问题怎么描述的这么蛋疼?
到底是一个数字? 还是2000个数字?
 
eg:
int c = 0;
 
while((c = getc(fp)) != EOF)
{
    if (isdigit(c))
    {  
         c = c + 1;
    }
}
 
eg:
int c = 0;
 
while((c = getc(fp)) != EOF)
{
    c = c + 1;
}
高手来啦,那把问题重说一下吧:
我定义了结构体:
struct stua
{
char num[10];
}stu[135];
void Init_stu()
{
 int i;
 char a[10]={'0',' ',' ',' ',' ',' ',' ',' ',' ',' '};
 for(i=0;i<135;i++)
 strcpy(stu[i].num,a);
}
有一个文本,他的数据格式是:号码+编号
比如 123,21112
     23,89702
号码的范围是1到135.
我从文本里读,如果读出的是'123',就把’21112赋给stu[123-1].num
读出的是‘23’,就把89702赋给stu[23-1].num
我用的是if,要用135个if,太麻烦
请教好的方法~

[ 本帖最后由 xdh0817 于 2011-12-11 19:22 编辑 ]
2011-12-11 19:19
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:7 
直接用循环处理(将读出的字符串拆分,再转换类型,然后赋值)就行了,注意一下下标.

[ 本帖最后由 cnfarer 于 2011-12-11 19:29 编辑 ]

★★★★★为人民服务★★★★★
2011-12-11 19:27
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
收藏
得分:0 
以下是引用cnfarer在2011-12-11 19:27:43的发言:

直接用循环处理(将读出的字符串拆分,再转换类型,然后赋值)就行了,注意一下下标.

版主都来啦~
具体点呗,我是菜鸟啊
2011-12-12 00:59
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
收藏
得分:0 
回复 4楼 cnfarer
没那么复杂!
现在终于懂了,用fscanf
!!!!!!!!!!!!!!
2011-12-20 14:05
快速回复:txt文本里有一个数字,介于1到2000之间,fopen把这个文本内容读出来
数据加载中...
 
   



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

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