我正在寫一個寫入文件的Linux上的簡單代碼。該文件將存儲在特定的路徑(不是可執行文件所在的路徑)。問題是當我執行代碼時,程序終止於段錯誤(核心轉儲)C++ fopen與我選擇的特定路徑的fwrite
這是我的代碼:
#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;
}
需要注意的是該程序的EXE是「/家/ medwajih /桌面/」,並在那裏我想創建buffer.txt文件的位置是「/家/ medwajih /桌面/ bufferfile /「
謝謝。
你從不檢查'fopen()'的結果。你確定它不是'NULL'嗎? – user0042
文件夾'/ home/medwajih/Desktop/bufferfile'是否存在?寫入權限還沒有被撤銷?該文件沒有被另一個進程鎖定? –
你好,它現在工作正常,因爲可執行文件在桌面和文件夾「bufferfile」也在桌面上,但是當我使用另一個路徑例如「/home/medwajih/Downloads/bufferfile/buffer.txt」代碼終止分段錯誤 –