如何访问char数组中的字符串



在莫尔斯电码游戏中,我制作了一个如下所示的char数组,我想将每个元素作为array[index];但它给分割带来了缺陷。任何人都能给出解决方案吗。

const char * const array[3]={"apple","mango","banana"};

您还没有发布显示segfault的代码,因此很难对可能导致它的原因进行完整分析。然而,您访问的内容很可能超出了单词存储的数组的范围,这会引发分段错误。

至于解决方案,为什么不使用STL容器呢?类似std::vector的东西也可以正常工作:

//Container that stores words
std::vector<std::string> MorseWords;
//To add a word
MorseWords.push_back("apple");
//To access a letter within a word
char letter = MorseWords[WordPosition][LetterPosition];

以下示例使用了上述原理:

std::vector<std::string> MorseWords;
MorseWords.push_back("apple");
MorseWords.push_back("banana");
MorseWords.push_back("carrot");
std::cout << MorseWords[1][0]; //Prints the 'b' of banana

最新更新