先日教えていただいたサイトの通りに作ってみたのですが、エラーばかり出ました。
(http://www.kumei.ne.jp/c_lang/cpp/cpp_38.htm)
includeの.hを消し、using namespace std;を付け足したのですが、
エラーが一杯出て実行できません。
どのように書き換えれば動くようになるでしょうか。
どのヘッダの .h を消したのでしょうか?
#include <iostream.h>
は
#include <iostream>
#include <fstream.h>
は
#include <fstream>
でよいのですが、
#include <string.h>
は
#include <cstring>
です。(stringではない)
さらに
#include <conio.h>
は .h をとってはつかえません。
(Windows固有のものなので)
参考
http://www1.kcn.ne.jp/~robe/cpphtml/html04/cpp04001.html
conio.hやwindows.hは標準ライブラリでないので .h は取れません。
というか「猫でも〜」でその後出てくる話題ですね。
第61章 標準ライブラリを使う
http://www.kumei.ne.jp/c_lang/cpp/cpp_61.htm
さて、openメンバ関数ですが
ifstream::open
void open( const char* szName, int nMode = ios::in, int nProt = filebuf::openprot );
(中略)
ifstream::close
void close();
これでクローズします。
上記の部分でどうしてもエラーが出てしまいます。
ここ以外はわかったのですが……。
ここができないと書き込んでも読み込めないのでどうにかならないでしょうか。
■ 構文エラー : 'void' は ';' によって先行されなければなりません。
■型指定子がありません
■'std::basic_ifstream<_Elem,_Traits>::open' は静的メンバではありません。
というエラーです。
コード中に
> ifstream::open
> void open( const char* szName, int nMode = ios::in, int nProt = filebuf::openprot );
とか
> ifstream::close
> void close();
とか書いたんなら、エラーになってアタリマエ。
std::ifstream stream;
file.open("なんとか");
...
stream.close();
なら通るべ。
っと、チョンボ。
× file.open("なんとか");
○ stream.open("なんとか");
引用ならば、ちゃんと引用であることを示したほうがよいです。
# 一瞬なんの 「さて」だ? とおもった。
http://www.kumei.ne.jp/c_lang/cpp/cpp_38.htmより
> さて、openメンバ関数ですが
> ifstream::open
void open( const char* szName, int nMode = ios::in, int nProt = filebuf::openprot );
(中略)
> ifstream::close
> void close();
> これでクローズします。
ここの、上記の行は解説用であって、それをソース中に記述しろということではありません。
ツイート | ![]() |