从java过渡到C ++

时间:2010-12-31 18:30:36

标签: java c++ file transition

根据发明语言的时间和语言的结构,这种转变可能意味着另一种方式,但我对我的java能力相当自信,或者至少我对它很好..但我现在试着去C ++,我遇到了困难。

在java中,读取文本文件可以通过声明一个新文件对象,然后是一个扫描器(或类似的类)来读取它,或读取器类,(缓冲读取器,输入流读取器,文件读取器) ......变化列表仍在继续)但是现在我试图在C ++中实现这一点,这是程序的一个非常基本的功能,而且我的代码不起作用。我的代码是:

#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile;
  myfile.open ("example.txt");
  myfile << "This text appears in the file.\n";
  myfile.close();
  return 0;
}

我忘记了什么?对我来说似乎很完整,但话说回来,我几乎不知道任何C ++ ......

3 个答案:

答案 0 :(得分:4)

该代码是正确的。您确定没有创建example.txt文件吗?例如,如果您正在使用visual studio,那么它将不在Debug或Release文件夹中,但会显示一级,因为默认情况下工作目录将是这样。

答案 1 :(得分:0)

我认为你真正的问题是如何在熟悉Java的情况下学习C ++。为此,我会推荐这本书Accelarated C++。这是对C ++的一个很好的介绍。然而,它是密集的,需要一些研究。我花了大约两个月的时间来工作。

如果您没有时间或动机,可以从Effective C++开始。它基本上是一系列的做法和注意事项,可以帮助您避免常见的初学者错误。

答案 2 :(得分:-3)

Java行李是一种责任,而非资产。用C ++思考,你可以使这段代码更简单,更安全:

#include <fstream>

int main () {
  std::ofstream myfile("example.txt");
  myfile << "This text appears in the file.\n";
  return 0; // you can skip this too
}

甚至更短:

#include <fstream>

int main () { std::ofstream("example.txt") << "This text appears in the file.\n";}