这是我的代码。
ifstream readFile;
readFile.open("voltages.txt");
if (readFile.fail( ) )
{
cout << "\nCould not open the file ... check to see if voltages.txt exists\n";
system("pause");
return;
}
string tempString = "";
//readFile.seekg(0, ios::beg);
int idx = 0;
if (readFile.is_open())
{
while ( readFile.good() )
{
getline(readFile,tempString);
cout << tempString << endl;
}
readFile.close();
}
如果我将电压.txt移动到c:/,那么它工作正常,但我现在在与.exe相同的文件夹中,当我在cout设置断点时&lt;&lt; tempString&lt;&lt; ENDL;它显示为“”。如果可能的话,我想把它保存在.exe中。正如你所看到的那样,我试图在一开始就没有运气。请帮助这个C ++菜鸟!谢谢!
答案 0 :(得分:2)
可能是因为当程序需要从C:/
指向文件的链接时,您正在尝试读取本地文件您可以将voltages.txt
替换为C:/pathToVoltages/voltages.txt
我建议通过这样做将文件传递给您的可执行文件:
int main(int argc, char argv[]){
ifstream readFile;
readFile.open(argv[2]);
/*Rest of the code*/
这假定文件的路径由您提供给程序的第一个参数给出,如:
./program pathToFile/voltages.txt
希望这有帮助