2

这是我的代码。

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();
}

如果我将 voltages.txt 移动到 c:/,那么它可以正常工作,但是我现在将它与我的 .exe 放在同一个文件夹中,并且当我在 cout << tempString << endl; 处设置断点时;它显示为“”。如果可能的话,我想把它保存在 .exe 中。如您所见,我尝试从头开始寻找,但没有运气。请帮助这个 C++ 菜鸟!谢谢!

4

1 回答 1

2

这可能是因为当程序需要从 C:/ 指向文件的链接时,您正在尝试读取本地文件

您可以通过替换来测试voltages.txtC:/pathToVoltages/voltages.txt

我建议通过执行以下操作将文件传递给您的可执行文件:

int main(int argc, char argv[]){
    ifstream readFile;
    readFile.open(argv[2]);
    /*Rest of the code*/

这假设文件的路径由您提供给程序的第一个参数给出,如下所示:

./program pathToFile/voltages.txt

希望这可以帮助

于 2012-11-21T06:22:12.300 回答