c++中如何将字符串类似于s="1 2 3 4 5 6 7 8 9"转换成整型数组a={1,2,3,4,5,6,7,8,9,}

如题,最好能把函数名字给出来,并且代码写一下,非常感谢,在线跪求... 如题,最好能把函数名字给出来,并且代码写一下,非常感谢,在线跪求 展开
 我来答
匿名用户
2014-04-07
展开全部
http://msdn.microsoft.com/zh-cn/library/kxsfc1ab.aspx
char *字符串, *停止字符串;

字符串 = "3.1415926这停止了";
double 浮点数 = strtod(字符串, &停止字符串);
printf("strtod函数 = %f\n", 浮点数);
printf("扫描: %s\n", 停止字符串);

字符串 = "1415926";
int 整数 = strtod(字符串, &停止字符串);
printf("strtod函数 = %d\n", 整数);

字符串 = "-10110134932这停止了";
long 有符号 = strtol(字符串, &停止字符串, 10);
printf("strtol函数 = %ld\n", 有符号);

for (int 基础 = 2; 基础 <= 8; 基础 *= 2)
{
unsigned long 无符号长整型 = strtoul(字符串, &停止字符串, 基础);
printf("strtol函数 = %ld (基础 %d)\n", 无符号长整型, 基础);
printf("扫描: %s\n", 停止字符串);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e43033c
2014-04-07
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
int main()
{
    int a[100], j = 0;
    string s = "1 2 3 4 5 6 7 8 9";
    for(int i = 0; i < s.size();)
    {        
        a[j] = s[i] - '0';
        j++;
        i = i + 2;       //字符串中以空格作为间隔
    }
    for(int i = 0; i < j; i++)  //j 即是整型数组的长度
    cout << a[i] << endl;
    system("pause");
    return 0; 
}
追问
请问如果数字为数不固定呢,比如是“1 11 123 23”类似这样的呢额
追答
int main()
{
int a[100], j = 0, tmp;
string s = "1 2 333 4 5 6 21347 8 9";
for(int i = 0; i < s.size();)
{
tmp = 0;
while(' ' != s[i])
{
tmp = tmp * 10 + (s[i] - '0');
i++;
if(i == s.size())
break;
}
a[j] = tmp;
j++;
i++;
}
for(int i = 0; i < j; i++)
cout << a[i] << endl;
system("pause");
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e608075
2014-04-07
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
for(int i = 0; i != 9; ++i) {
i[i] = s[i] - '0';
}
更多追问追答
追问
请问您这个i是int型数组,s是string类型数组是吧,可是为什么在vc2008上运行不成功呢,编译可以,但是不能运行
追答
对,怎么不能运行?你把你的代码发过来吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式