gpt4 book ai didi

将 char 指针数组转换为小写 C

转载 作者:行者123 更新时间:2023-11-30 21:41:51 24 4
gpt4 key购买 nike

我有以下字符指针数组:

 char* wordArray[ARRAY_MAX];

现在我想让所有字符都小写。我尝试通过循环数组然后使用指针使用以下代码将每个字符转换为小写来实现此目的:

 for (i = 0; i < 2000; i++) { 
lineoftext2[i] = lineOfText[i]; //lineoftext is just an array of chars
}

words = strtok(lineoftext2, "\n ,-.)");
Word wordPlaceArr[ARRAY_MAX];
int wordNumArr[ARRAY_MAX];

while (words != NULL)
{
wordArray[count] = words;
count++;
words = strtok(NULL, "\n ,-.)"); //Remove punctuation an put into an array of char pointers
}

char* wordpointer; //HERE is where I want to convert all the letters to lowercase

for (i = 0; i < count-1; i++) {
for(wordpointer = wordArray[i]; wordpointer != '\0'; wordpointer+= sizeof(char)) {
*wordpointer = tolower(*wordpointer); //results in seg-fault
}
}

当我尝试将 wordArray 中的所有字符串设为小写时,上面的代码会导致段错误。如何解决此问题以成功将所有字符串转换为小写

最佳答案

wordpointer != '\0';

这永远不会是真的,因此循环永远不会停止。指针永远不会等于零,除非它回绕,并且在这种情况发生之前你就会崩溃。您的意思是 *wordpointer != '\0';

关于将 char 指针数组转换为小写 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35490575/

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