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

时间:2015-03-01 05:08:47

标签: c++ oop

在摩尔斯电码游戏中我制作了一个如下图所示的char数组,我希望将每个元素作为数组[index];但它给出了分段错误。任何人都可以提供解决方案。

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

1 个答案:

答案 0 :(得分:1)

您尚未发布显示段错误的代码,因此很难对可能导致错误的内容进行全面分析。但是,您访问的内容很可能超出了存储单词的数组范围,从而导致分段错误。

至于解决方案,为什么不使用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