这些字符串是否正确连接到fopen()?

时间:2015-07-20 20:45:26

标签: c unix fopen strcpy strcat

我希望连接两个字符串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

1 个答案:

答案 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和名称为

的绝对文件路径