我正在尝试将一个简单的字符串解析为 *char 数组,由于某种原因,当我使用 string.c_str() 时,它将整个字符串放入 *char[0] 并且数组的其余部分留空(我最初认为字符只能包含一个 ASCII 字符,但我猜它们作为指针的行为不同),任何人都可以扫描我的函数并告诉我是否有任何明显的错误?
static void SetGame()
{
// Variable Initiation
int myRandom = rand() % (numOfWords - 1);
lengthOfString = wordArray[myRandom].length();
// Reinitiate Pointer Arrays
stringArray = new string[lengthOfString];
isDiscoveredArray = new bool[lengthOfString];
// Parse string to the array of characters
*stringArray = wordArray[myRandom].c_str();
// Set each boolean array value to false
for (int i = 0; i < sizeof(isDiscoveredArray); i++)
{
isDiscoveredArray[i] = false;
}
}
这是我对指针的减速
// Global Variable and pointer Declerations
string *wordArray;
int numOfWords;
string *stringArray;
int lengthOfString;
bool *isDiscoveredArray;
有任何想法吗?谢谢。