注册 登录
编程论坛 C++教室

关于从文件中读取的内容的问题

学小强编程 发布于 2012-03-17 13:21, 504 次点击
我写一个关于从文件中读取int的数,但是一开始我的文件中数字有空格,有逗号,最后的输出不是我想要的值。经过一个老师的修改,说是要把逗号去掉,才可以,事实证明确实如此。但是我想如果文件中有符号,如何使他正常读取数字(因为那天时间关系没问),并输出。。。新手求教,谢谢
7 回复
#2
nicum2012-03-17 20:28
将数字字符读到字符数组中,再用atoi函数将字符转换成数字
#3
学小强编程2012-03-18 13:53
回复 2楼 nicum
不好意思哦,我没听懂,能不能说的浅显一点
#4
pangding2012-03-18 16:24
你想从什么样的文本里提取 int?给一个你准备处理的文本的例子。
#5
nicum2012-03-18 17:07
#include <iostream>
#include <sstream>
#include <fstream>
using namespce std;
int main()
{
    fstream myfile;
    stringstream ss;
    myfile.open(.....);
    char c='0';
    char t[20];
    int i=0,j=0,result[100];
    while(1)
    {
        myfile>>c;
        if(myfile.eof())
            break;
        if(c<'0'||c>'9')
            continue;
        while(c>='0'&&c<='9')
        {
            t[i++]=c;
            myfile>>c;
            if(myfile.eof())
                break;
        }
        if(i)
        {
            t[i]='\0';
            ss<<t;
            ss>>result[j++];
            ss.clear();
            i=0;
        }
    }
    myfile.close();
    return 0;
}

[ 本帖最后由 nicum 于 2012-3-18 20:16 编辑 ]
#6
学小强编程2012-03-19 19:13
回复 4楼 pangding
就是用int中读取的,谢谢了啊
#7
pangding2012-03-19 22:47
我是问你要读取的文本是什么样的。是
1, 2, 3,
这样的既有空格又有逗号吗?还是除了数字,逗号以外还有别的字符?
#8
学小强编程2012-03-23 13:23
回复 7楼 pangding
只有逗号,那如果有其他字符怎么办
1