ファイルに書き込むシンプルなコードをLinuxで書いています。そのファイルは特定のパス(実行ファイルがあるパスと同じではありません)に格納されます。コードを実行すると、プログラムはセグメンテーションフォルト(コアダンプ)で終了します。C++ fopen特定のパスを指定してfwriteを選択します
ここは私ですコード:プログラムのexeファイルは「/ホーム/ medwajih /デスクトップ/」にあると私はbuffer.txtファイルを作成したい場所は「/ホーム/ medwajih /デスクトップ/ bufferfileであること
#include <stdio.h>
int main()
{
FILE * pFile;
char buffer[] = { 'x' , 'y' , 'z' };
pFile = fopen ("/home/medwajih/Desktop/bufferfile/buffer.txt", "wb");
fwrite (buffer , sizeof(char), sizeof(buffer), pFile);
fclose (pFile);
return 0;
}
注意/ "
ありがとうございます。
'fopen()'の結果を確認することはありません。あなたはそれが 'NULL'ではないと確信していますか? – user0042
フォルダ '/ home/medwajih/Desktop/bufferfile'は存在しますか?書き込み権限は取り消されていませんか?ファイルは別のプロセスによってロックされていませんか? –
こんにちは、実行ファイルがデスクトップにあり、フォルダ "bufferfile"もデスクトップにあるので、今はうまくいきますが、別のパス、例えば "/home/medwajih/Downloads/bufferfile/buffer.txt"を使用するとコードが終了していますセグメンテーションフォールトが発生しています –