gpt4 book ai didi

c++ - string s怎么改成char * a[]?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:18 25 4
gpt4 key购买 nike

我要转型

字符串 s="aaa,bbb,ccc"

进入:

char * a[]={"aaa", "bbb", "ccc"}

你能帮我编写程序来处理这个过程吗?

我会尝试这样编程:

string s="aaa,bbb,ccc";
char * a[];
char id[] = "";
strcpy(id, s.c_str());
const char * split = ",";
char * p;

p = strtok(id, split);
while (p != NULL) {
int i = 0;
printf("%s\n", p);
a[i]=p;

i++;
p = strtok(NULL, split);
}

我哪里错了?谁能指点一下?

最佳答案

我是编程新手,但我一直在做以下事情:

#include "stdafx.h"
#include <stdio.h>
#include <iostream>


int _tmain(int argc, _TCHAR* argv[])
{
std::string s = "aaa,bbb,ccc";

// dynamically allocate memory for the char
char * a = new char [s.length()+1];

// the string needs to be copied into a
std::strcpy(a, s.c_str());

std::cout << a;

// cleanup
delete [] a;

return 0;
}

编辑:刚刚注意到您希望将字符串的不同部分作为 char 数组的元素,我的回答不会那样做。

关于c++ - string s怎么改成char * a[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32222078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com