gpt4 book ai didi

c - 我正在尝试将字符串值分配给字符数组数组

转载 作者:行者123 更新时间:2023-11-30 15:37:46 25 4
gpt4 key购买 nike

我正在尝试将字符串值 (char *) 分配给 char 数组数组中的元素。我的问题是,我可以进行分配,但它将最后读取的值放入每个元素中,而不是我想要的特定元素中。我的代码如下所示。

int   wordListIterator = 0;

int main(int argc, char **argv) {

FILE *fp = fopen(argv[1], "r");

int lineCount = 0;

char line[80];
while (fgets(line, sizeof(line), fp) != 0) {
parseLine(line, strlen(line), lineCount);
lineCount++;
}
fclose(fp);
} // end main

void parseLine(char * myLine, int stringLength, int myLineCount) {

if (isspace(myLine[1])) {
int i;
for (i = 0; i < stringLength; i++) {
Puzzle[myLineCount][i] = myLine[i];
}

} else
if (isspace(myLine[1]) == 0) {
Wordlist[wordListIterator] = myLine;
wordListIterator++;
}
}

我的输出将使 Wordlist[] 充满最后读取的单词。这是一个单词搜索谜题。 Puzzle[][] 作业效果很好,所以我不明白我哪里出错了。

最佳答案

您需要使用 strdup 来复制您的行,否则您每次都会覆盖该行,并且您的每个值都将是指向同一字符串的指针。该字符串将包含最后一个输入,因此所有这些字符串都将指向最后一个输入。

您的“拼图”作业可以正常工作,因为您一次复制了一个实际字符。

关于c - 我正在尝试将字符串值分配给字符数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22084629/

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