从文件读取时出现意外输出

时间:2014-11-05 15:56:28

标签: c++ file

我正在使用cplusplus.com的代码,它是打开文件,从中读取信息,打印它,然后关闭它。所以,这是代码:

#include <iostream>     // std::cin, std::cout
#include <fstream>      // std::ifstream

int main () {
  char str[256];

  std::cout << "Enter the name of an existing text file: ";
  std::cin.get (str,256);    // get c-string

  std::ifstream is(str);     // open file

  while (is.good())          // loop while extraction from file is possible
  {
    char c = is.get();       // get character from file
    if (is.good())
      std::cout << c;
  }

  is.close();                // close file

  return 0;
}

因此,带有此代码的文件名为&#34; prog.cpp&#34;,并保存在Documents / Test文件夹中。在同一文件夹中,我有一个名为&#34; hello.txt&#34;的文本文件,其中包含以下内容:

hello to everyone

所以,在我运行我的程序后,预期结果是&#34;大家好&#34;,但我有:

hsdhs131313dhhsd

所以,没有其他文件。哪里出错了?我做错了什么?使用mac os x。 这是termianl窗口,sublime文本窗口和finder的屏幕截图。提前致谢screen

1 个答案:

答案 0 :(得分:2)

当程序要求输入文件名时,请输入完整路径:

Enter the name of an existing text file: /Users/ratkke/Documents/Test/prog/hello.txt