void open(char *<ファイル名>, int <モード>, int <アクセス>);
ios::app : 後ろに追加出力 ios::ate : ファイルが開かれたときファイルの終わりまでシーク ios::in : 入力ファイル ios::nocreate : ファイルが存在しないと実行不可能 ios::noreplace : ファイルがすでに存在すると実行不可能 ios::out : 出力ファイル ios::trunc : ファイルが存在するとそれを大きさ 0 のファイルにする
0 : 通常ファイル 1 : 読み出し専用ファイル 2 : 隠しファイル 4 : システムファイル 8 : アーカイブビットが on のファイル
ofstream st;
st.open("test.txt", ios::out, 0);
ofstream st("test.txt");
fstream st("test.txt", ios::in | ios::out); int eof() : ストリームの終わりであれば非 0 値,そうでなければ 0 を返します int fail() : ストリームの演算に失敗したとき非 0 値,そうでなければ 0 を返します int bad() : fail と似ていますが,もっと悪い状態を表します int good() : ストリームに問題がないとき非 0 値,そうでなければ 0 を返します int operator !() : fail と同じ意味の演算子です.例えば,以下のように使用します. if (!std::cout) 失敗したときの処理 operator void*() : 最後のストリーム演算に失敗したとき 0 値,そうでなければ非 0 値を返します. 例えば,以下のように使用します. if (std::cin>>c) ・・・ else 失敗したときの処理
/****************************/
/* ファイル入出力 */
/* coded by Y.Suganuma */
/****************************/
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
/*******************/
/* クラスXyzの定義 */
/*******************/
class Xyz
{
public:
int x, y, z;
Xyz(int a, int b, int c) /* コンストラクタ */
{
x = a;
y = b;
z = c;
}
friend ostream& operator << (ostream &, Xyz);
};
/******************************************/
/* 座標の表示(演算子<<のオーバーロード) */
/******************************************/
ostream & operator << (ostream &stream, Xyz ten)
{
stream << " (" << ten.x << ", ";
stream << ten.y << ", ";
stream << ten.z << ")\n";
return stream;
}
/************/
/* main関数 */
/************/
int main()
{
// ファイルのオープン
ifstream in("test1.txt");
if (!in) {
cout << "***error 入力ファイルを開けません\n";
exit(1);
}
ofstream out("test.txt");
if (!out) {
cout << "***error 出力ファイルを開けません\n";
exit(1);
}
// データ入力と出力
while (!in.eof()) {
int n1, n2, n3;
in >> n1 >> n2 >> n3;
Xyz a(n1, n2, n3);
out << a;
}
// ファイルのクローズ
in.close();
out.close();
return 0;
}
10 20 5 5 4 10
(10, 20, 5) (5, 4, 10)
/****************************/
/* ファイル入出力 */
/* coded by Y.Suganuma */
/****************************/
#include <stdio.h>
/************/
/* main関数 */
/************/
int main()
{
// ファイルのオープン
FILE *in = fopen("test1.txt", "r");
FILE *out = fopen("test.txt", "w");
// データ入力と出力
int n1, n2, n3;
while (EOF != fscanf(in, "%d %d %d", &n1, &n2, &n3))
fprintf(out, "(%d,%d,%d)\n", n1, n2, n3);
// ファイルのクローズ
fclose(in);
fclose(out);
return 0;
}