我希望连接两个字符串HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
和config_path
,并将该字符串传递给config_file
。问题是fopen()
返回错误,即使我100%文件存在。事实上,我在将字符串传递给fopen()
之前在命令行中打印,如果我将此字符串直接复制到我的源代码中,那么fopen()
会找到该文件。这里的问题是什么?
命令行输出
fopen()
源代码
config: /nfs/stak/students/m/morriluk/.myshellrc|header: HOME
Unable to open configuration file: No such file or directory
答案 0 :(得分:0)
通过从ENV获取路径来打开文件的示例程序
OpenFile()
{
string filename;
FILE *fp;
filename = string(getenv("HOME")) + "/FileName"; //Home - Configpath, Replace File Name
fp = fopen(filename, "r");
if (fp == NULL ) cout<<"filename read failed"<<endl;
/* Write Code to perform task on File */
fclose(fp); //Close handle
}
要测试你可以制作任何随机文件,并尝试fopen是否适用于同一路径中的其他文件
if(fp=fopen("/nfs/stak/students/m/morriluk/TESTFILE","r"))
如果上面的代码没有解决问题,请告诉我unix flavor和名称为
的绝对文件路径