gpt4 book ai didi

C - 为什么我在尝试读取包含反斜杠的字符时遇到段错误?

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:51 26 4
gpt4 key购买 nike

我正在尝试逐行读取文件,我的代码正在寻找反斜杠,但是当它找到反斜杠时,它会以段错误退出。我在 Ubuntu linux 19.04 和 C11 上使用 gcc。

void test(char **array) {
boolean a = *array[0] == '\\';
boolean b = *array[2] == '\\';
boolean c = *array[1] == '\\'; //I get segfault here.
}

int main() {
FILE *messages = fopen("messages.json", "r");
char *array = NULL;
size_t size;
getline(&array, &size, messages);
test(&array); //array contains "{\n" string here.
}

最佳答案

您将 array 视为直接指向数组,但事实并非如此。它指向一个指向数组的指针。您可以通过将 *array[i] 更改为 (*array)[i] 来修复它:

void test(char **array) {
boolean a = (*array)[0] == '\\';
boolean b = (*array)[2] == '\\';
boolean c = (*array)[1] == '\\';
}

关于C - 为什么我在尝试读取包含反斜杠的字符时遇到段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513724/

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