快速提问
这段代码给我细分错误
f = fopen("~/proj/viagens.txt", "r");
但是这个没有
f = fopen("viagens.txt", "r");
为什么?
最佳答案
~
是由shell(例如Bash)扩展到主目录的一种表示法,因此,如果您调用vim ~/proj/viagens.txt
之类的程序,则shell会在程序/home/ventura/proj/viagens.txt
看到之前将参数扩展为vim
。它。 ~
无法理解fopen
,这需要绝对路径或相对于当前工作目录的路径。
(正如@Osiris和@AndrewHenle在其注释中指出的那样,fopen
不会出现段错误,但是当找不到文件时它将返回null,这将在您尝试使用作为文件描述符。)
关于c - 写入文件的完整位置时出现段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53199124/