gpt4 book ai didi

c++ - 从字符串数组创建一个 char 数组

转载 作者:行者123 更新时间:2023-11-28 05:14:04 26 4
gpt4 key购买 nike

(语言:C++)我有这个数组:

 string myArray[] = {"Apple", "Ball", "Cat"};

是否可以将上述数组中的每个元素存储到一个新数组中?像这样。

  char word1[] = myArray[0];
char word2[] = myArray[1];
char word3[] = myArray[2];

我检查了上面的代码,它会抛出一个错误。我将如何获得此功能?我不能使用二维数组,因为我不知道我的实际程序中单词的长度。一个文件有单词列表,我必须将它读入数组并得到上面的字符串数组。

最佳答案

根据您发布的示例,这就是您要查找的内容:

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

int main() {
string myArray[] = {"Apple", "Ball", "Cat"};

char test0[myArray[0].length()];
strcpy(test0, myArray[0].c_str());
char test1[myArray[1].length()];
strcpy(test1, myArray[1].c_str());
char test2[myArray[2].length()];
strcpy(test2, myArray[2].c_str());

int i=0;
for(i=0; i<(sizeof(test0)/sizeof(*test0)); i++)
cout<<test0[i]<<" ";
cout<<"\n";
for(i=0; i<(sizeof(test1)/sizeof(*test1)); i++)
cout<<test1[i]<<" ";
cout<<"\n";
for(i=0; i<(sizeof(test2)/sizeof(*test2)); i++)
cout<<test2[i]<<" ";
cout<<"\n";

return 0;
}

在上面的代码中,我创建了长度等于myArray[] 中对应的字符串。然后我使用 strcpy() 将相应的字符串从 myArray[] 复制到字符数组(test0[] 等)。最后,我刚刚打印了这些新的字符数组。

工作代码 here .

注意:我假设您使用的是 GCC,因为它支持 VLAs .如果不是,那么您可以使用特定长度的数组(或者更好的是 vector)。

希望对您有所帮助。

关于c++ - 从字符串数组创建一个 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009880/

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