0
誰かが、以下のコードで予期しない実行時エラーが発生する理由を教えてください。これは2回繰り返されますが、それ以上は動作しません。単純なコードで予期しない実行時エラーが発生する
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void print(string hmm)
{
ofstream ko(hmm.c_str(),ios::trunc);
ko<<"chacho";
ko.close();
}
int main(){
for(int i=0;i<5;i++)
{
char *chat=new char;
sprintf(chat,"%d%s",i,"_num.txt");
string rat=chat;
print(rat);
}
system("pause");
return 0;
}
どのようなエラーが表示されますか? –
#define BUF_LEN(256)...... char * chat =新しいchar [BUF_LEN]; ...... dlete []チャット。 – neohope
@ neohopeでは、defineはこの目的にはまったく適していません。 C++でこれを行うにはもっと良い方法があります。また、新しい必要が大括弧で囲まれた配列を割り当てる。 – chris