我又回到了另一个我似乎无法征服的段错误。
我确切地知道它是什么,它是char * string line的东西。我用它来分解字节来获取这个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
答案 0 :(得分:1)
你还没有用于字符串指针的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);