後にアプリケーションがメモリにworteことを検出し、ここで正確なスクリーンショットだ:ヒープ破損:通常のブロックの後に... CRTは、私はこのコードを実行すると、私はタイトルにエラーが発生します、ヒープバッファの終わり
私のコードはこれです:
string ProcessCommand(vector<unsigned char> data)
{
try
{
int valread = data.size();
unsigned char* converted = &data[0];
char *buffer = (char *)converted;
buffer[valread] = '\0';
const char file[] = ">myfile.txt";
char * newBuffer = new char[strlen(buffer) + strlen(file) + 1];
strcpy(newBuffer, buffer);
strcat(newBuffer, file);
system(newBuffer);
fstream f("myfile.txt", fstream::in);
string str;
getline(f, str, '\0');
//const char * sendfile = str.c_str();
//char * result;
//result = const_cast<char *>(sendfile);
f.close();
remove("myfile.txt");
return str;
}
catch (const std::exception&)
{
}
}
コードをフォーマットする方法を学んでください。 –
'buffer [valread] = '\ 0';は1つだけオフになります。 – tkausl
ようこそStackOverflowへ。私はあなたのためにあなたの質問をフォーマットしました。次回は、投稿時にプレビューオプションを利用できるので、これを自分で行うようにしてください。あなたの質問に答えたい人を尊重し、読んでもらうための完全な混乱を投稿しないでください。 – StoryTeller