Я пытаюсь получить данные, прочитанные из сокета TCP, с помощью метода g_io_channel_read_chars и преобразовать их в длинное целое число. Я пытался использовать strtol, atoi, не приводить ScanLine в качестве указателя gchar, обращаться к первой переменной ScanLine с помощью ScanLine[0], объявлять FilterAmount по-разному, и, несмотря на это, мое приложение все еще падает в этой строке. Любые идеи?
static gchar ScanLine[9640];
long int FilterAmount;
g_io_channel_read_chars (source, (gchar *) ScanLine,1,&BytesRead,&GlibError);
if (BytesRead != 1){
return TRUE;
}
printf("This is my string: %s\n", ScanLine);
FilterAmount = strtol(ScanLine, NULL, 10);
Вывод оператора printf равен «2».