读书人

字符串解析的有关问题

发布时间: 2012-03-18 13:55:39 作者: rapoo

字符串解析的问题
大家好,请教大家一个基础的问题

我的文件里 记录的数据格式如下:
1 6.0 -11.5 19 90 1
2 -11.0 -18.5 25 -36 3
3 90.2 -17.0 17 3 2
4 -4.0 -15.0 13 54 1
5 0.0 -14.0 20 35 2
6 0.5 -11.5 19 37 3
7 -10.0 -19.0 21 -42 3
8 0.0 -23.0 5 -35 1
9 20.0 -22.0 8 -20 3
10 -100.0 -21.4 7 -15 1
11 -100.0 -21.5 15 -40 2
12 13.0 -17.2 18 2 2
13 -5.0 -18.5 15 18 1
14 10.0 -18.0 14 50 1
15 -8.0 -14.0 16 56 1
16 0.6 -13.0 26 21 3
17 -40.0 -20.0 22 -50 3

我现在将每一行数据读进一个string里,以空格分隔,将数据记录人vector,请教具体操作

[解决办法]
ifstream cin("文件名");
vector<double> v;
char a[100];
int b,c,d,e.f;
cin.getline(a,100,'\n');
sscanf(a,"%d %d %d %d %d",b,c,d,e,f);
v.push_back(b);
v.push_back(c);
v.push_back(d);
v.push_back(e);
v.push_back(f);
[解决办法]
sscanf(a,"%d %d %d %d %d",&b,&c,&d,&e,&f);
[解决办法]

C/C++ code
#include <iostream>#include <string>#include <vector>using namespace std;int main() {    FILE *stream;    char str1[16], str2[128];    memset(str1, 0, sizeof(str1));    memset(str2, 0, sizeof(str2));    vector<string> Vstring;    stream = fopen("Ain.txt", "r");    if(stream == NULL)    {        printf( "The file Ain.txt was not opened\n" );        return(0);    }    else    {        bool bFirst = true;        int i = 0;        while(!feof(stream))        {            fscanf(stream, "%s", str1);            i++;            if( i == 6)            {                str2[strlen(str2)] = ' ';                strcat(str2, str1);                Vstring.push_back(str2);                printf( "%s\n", str2);                bFirst = true;                memset(str2, 0, sizeof(str2));                i = 0;            }            else            {                if(bFirst)                {                    strcat(str2, str1);                    bFirst = false;                }                else                {                    str2[strlen(str2)] = ' ';                    strcat(str2, str1);                }            }            memset(str1, 0, sizeof(str1));        }    }    fclose(stream);    return(0);}
[解决办法]
将读进来的数据变成char *,
strtok

读书人网 >C++

热点推荐