Недавно я делал программу, и она давала мне ошибку сегментации.После использования gdb я понял, где у меня возникла проблема, но я не могу ее решить.
Функция выглядит следующим образом:
int readSocket_line(int socket, char * array) {
int i = 0;
while (1) {
if (read(socket, & array[i], 1) < 0) {
return -1;
break;
}
if ((array[i] == '\n') || (array[i] == ' ')) {
break;
}
i++;
}
array[i] = '\0';
return 0;
}
Ошибка, отображаемая gdb, заключается в следующем:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb3df5b40 (LWP 24457)]
0x08048f70 in readSocket_line (socket=18, array=0xb3df5337 "")
at sockets_clie.c:14
14 if((array[i] == '\n') || (array[i] == ' ')){
Я не могу понять, как я могу решить эту проблему.
Мне нужна помощь, чтобы решить и понять эту ошибку.Спасибо!