代码之家  ›  专栏  ›  技术社区  ›  cdecaro

将数字的字符串数组转换为整数数组时,元素变为0

  •  -3
  • cdecaro  · 技术社区  · 7 年前

    当我将信息转换为整数并打印出数组时,输出值仅为0。info中的每个元素都是一个数字,作为从文本文件中提取的字符串输入。例如:513497628 19 4 16 4 7 14 18 15 10 6 6 1 7 17 88 10 79。我使用strtok删除行中的空格,并将数字输入信息。当我打印出信息时,所有的数字都在那里。如何正确转换?

    string info[1000]
    int student[18];
    for (int i=1; i<18; i++){
        //cout << info[i] << endl;
        stringstream convert(info[i]);
        convert << student[n];
        cout << student[n] << endl;
        n++;
    }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Chad K    7 年前

    字符串流是我最喜欢的工具。它们会自动转换数据类型(大多数情况下),就像cin和cout一样。下面是一个字符串流的示例。它们包含在图书馆中

    string info = "513497628 19 4 16 4 7 14 18 15 10 6 6 1 7 17 88 10 79";
    int student[18];
    
    stringstream ss(info);
    
    for (int i=0; i< 18; i++){
       ss >> student[i];
       cout << student[i] << endl;;
    } 
    

    https://repl.it/J5nQ