mac osx上的file.get()的奇怪行为

时间:2014-11-05 11:44:08

标签: c++ macos 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;
}

在我的程序所在的同一文件夹中,我有一个名为“hello.txt”的文件,它由1行“abc abc”组成。 所以,在我运行程序并输入“hello.txt”后,我有以下行:

hsdhs131313dhhsd

当然,这不是“hello.txt”的内容。我正在使用mac os x和clang进行编译。问题出在哪里,为什么来自官方网站的代码示例不起作用?提前谢谢

0 个答案:

没有答案