Я вернулся с еще одним сегфо, я не могу победить.
Я понял, что это такое, это что-то со строкой char *. Я использую его, чтобы разбить байты, чтобы получить этот PDF-файл для школьного задания.
Любая помощь приветствуется!
void* consumer(void *temp)
{
int* stuff = reinterpret_cast<int*>(temp);
int x = *stuff;
char* string[];
stringstream stream1;
stringstream stream2;
int temp1=0;
int temp2=0;
int sent1=0;
int sent2=0;
ofstream fout;
strcpy(string,request); //SEGFAULT(11) ON THIS LINE, WHEN CALLING "string"strcat(string,"Byte Range: ");
...
Полный код можно найти здесь; https://www.dropbox.com/sh/dt90ot3z4v5nruy/1H9a5Cyb5A
mgetweb.h и mgetweb.cpp
У вас нет new
Памяти для строкового указателя пока нет, поведение для доступа к нему не определено.
// char* string[]; I guess that's not what you intent to do, declaring an array of pointers?
char* string = new char[BIG_ENOUGH_SIZE];
strcpy(string, request);
Других решений пока нет …