
C++如何将一个字符串中的数据(很多个)分开存入另一个数组中?
1个回答
展开全部
把 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;
}
程序例子如下:
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询