C++如何将一个字符串中的数据(很多个)分开存入另一个数组中?

字符串是从文件中getline来的。
大概格式像这样:
12 23 8 5

把 string 转 char []; 再用 sscanf() 读出来。(其实,直接用 c 更方便)
程序例子如下:
#include <string>
using namespace std;
#include <stdio.h>

int main()
{
int a[6]; // 存放数据 的 数组
int i,n;
string one_line="12 23 8 5 "; //假定 getline() 已把内容 放入 string class 对象。
char *cstr = new char[one_line.length() + 1]; // 声明一个 char 数组
strcpy(cstr, one_line.c_str()); // 把 string 里的一行字符串,复制到 char 数组
n=sscanf(cstr,"%d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5]); //转换
for (i=0;i<n;i++) printf("%d\n",a[i]); // 输出成功 转换出来的 n 个数。
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答