0
システムコマンドを使わずにファイルを作成しようとしています。私が書いたこのコードは複数の問題を抱えています。最初にfptrを作成し、それがNULLかどうかをチェックすると、double freeまたは破損が発生します。以前の方法でも、ファイルを複数回閉じることはできませんでしたが、私は見ることのできない行間に非常に単純な隠れがあると思います。ファイルを開くことなくファイルを作成するにはどうすればいいですか?
int main()
{
char* filename;
char x;
cout << "enter filename.**: ";
cin >> filename;
struct stat buffer;
if (! stat (filename, &buffer))
{
cout << ("It exists\n");
}
else
{
FILE* fptr;
fptr = fopen (filename,"w");;
fclose (fptr);
}
}
本当にありがとうございます! :)
'filename'にスペースを割り当てるのを忘れました。 (これはC++であるため、 'std :: string'を使用してください) – molbdnilo
新しいコンパイラを使用している場合は、[filesystem TS](http://en.cppreference.com/w/cpp/filesystem)を使用できます。 C++ 17標準の一部になります。 – NathanOliver
ファイル名のスペースをどのように割り当てる必要がありますか? – malloc