gpt4 book ai didi

c - 在 fprintf 函数中写入正确的路径

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:06 25 4
gpt4 key购买 nike

显然,没有关于我的问题的数据(我试着在这里搜索它,但我读过的帖子都没有回答我的疑问)。就是这样:我拼命想弄清楚如何将正确的路径放入 fprintf 函数,但我的尝试都没有成功。这是程序:

#include <stdio.h>
#include <stdlib.h>

int main(){
FILE *fp = NULL;

//opening the file
fp = fopen("C:/Users/User1/Desktop/myfile.txt", "w+");

//if there's an error when opening the file, the program shuts down
if(fp == NULL){
printf("error");
exit(EXIT_FAILURE);
}

//print something on the file the program just opened (or created if not already existent)
fprintf(fp, "to C or not to C, that is the question");

//closing the file
fclose(fp);

//end of main function
return 0;
}

我的问题是:为什么我的程序总是关闭?我究竟做错了什么?这只是一个 Windows 问题(我看到,在 User1 文件夹图标上,有一个锁,可能是权限被拒绝的事情?)或者我只是以错误的方式放置了路径?我尝试使用字符串来保存路径,我尝试更改打开模式,我什至尝试禁用我在计算机上安装的所有防病毒软件、反恶意软件和防火墙,但什么都没有,程序仍然没有创建文件所在的位置我想要它。

附言抱歉英语不好。附言抱歉,如果已经发布了类似的问题,我没能找到。

最佳答案

fp = fopen("C:\Users\User1\Desktop\myfile.txt", "w+");

字符\是C语言中的转义字符,必须转义:

fp = fopen("C:\\Users\\User1\\Desktop\\myfile.txt", "w+");

更好的是,Windows 现在支持 / 目录分隔符。所以你可以这样写:

fp = fopen("C:/Users/User1/Desktop/myfile.txt", "w+");

无需逃避路径。

引用:

MSDN fopen ,特别是 Remaks 部分

关于c - 在 fprintf 函数中写入正确的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29236175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com