在C ++中,打开带有值的.txt文件后,读取文件会给我“”

时间:2012-11-21 05:53:23

标签: c++ ifstream readfile

这是我的代码。

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 ++菜鸟!谢谢!

1 个答案:

答案 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

希望这有帮助