Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 按文件的完整路径打开文件_C++_File - Fatal编程技术网

C++ 按文件的完整路径打开文件

C++ 按文件的完整路径打开文件,c++,file,C++,File,我想询问用户文件存在的完整路径,然后将该路径保留在数组中。所以在程序中,我想打开存在于那个地方的文件。 但不幸的是,我不知道如何打开文件。 我尝试了以下代码,但不是真的 string address; cin>>address; ifstream file(address); 如何以这种方式打开文件?事实上,代码按原样工作–至少在当前版本C++11中是这样 在此之前,您需要将字符串转换为C样式字符串: ifstream file(address.c_str(

我想询问用户文件存在的完整路径,然后将该路径保留在数组中。所以在程序中,我想打开存在于那个地方的文件。 但不幸的是,我不知道如何打开文件。 我尝试了以下代码,但不是真的

    string address;
    cin>>address;
    ifstream file(address);

如何以这种方式打开文件?

事实上,代码按原样工作–至少在当前版本C++11中是这样

在此之前,您需要将字符串转换为C样式字符串:

ifstream file(address.c_str());
尽管您应该注意文件路径中的空格,如Capelic在其(现已删除)回答中所述;为了确保用户可以输入带有空格的路径(例如“
~/some file.txt
”),请使用
std::getline
而不是stream操作符:

getline(cin, address);

问题可能是
地址中存在空格


尝试使用GETLIN(CIN,地址)(感谢Konrad发现问题,我的C++有点生锈…)< /P>不能使用<代码> STD::CI::GETLION <代码> > <代码> STD::String < /代码>。是的,我将删除它——再次!

ofstream myfile;
myfile.open (adresse.c_str());