我正在写一个写入文件的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”代码终止分段错误 –