2012-11-21 28 views
2

这是我的代码。在C++中,打开带有值的.txt文件后,读取文件给我“”

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; < < endl;它显示为“”。如果可能,我想保留在.exe中。正如你所看到的,我试图寻求开始,没有运气。请帮助这个C++ noob!谢谢!

+0

多少行的时候voltages.txt是不是在C它读:/? –

+0

它只读一行,即“” – KKendall

回答

2

这可能是因为你试图读取本地文件时,程序需要从C到文件的链接:/

您可以测试这个用C:/pathToVoltages/voltages.txt

我建议传球替换voltages.txt通过这样的文件到您的可执行文件:

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

这是假设的路径,该文件由你给程序作为第一个参数给出:

./program pathToFile/voltages.txt 

希望这有助于