データ入出力 C++プログラミング入門 しおたに・ドット・チャイナ

006.png

HOME > データ入出力

データ入出力

C言語のデータ入出力

データ入出力関数 機能
printf("書式",入力変数列) データ入力
scanf("書式",&ポインタ出力変数列) データ出力



C++言語のデータ入出力

関数 機能
cin >>  変数・配列名 >> 変数・配列名 データ入力
cout << 変数・配列名 << 変数・配列名 データ出力


データの出力形式

入出力データ書式 データ型機能 出力例
%d,  %pd int型 %d, %4d 123,   123
%f, %p.qf  float型 %f,  %7.3f 123.345, 12.345
%lf, %p.qlf double型 %lf, %7.3lf 123.345, 12.345
%c,  %s char型 %c, %s a, a




C++言語の入出力ライブラリiomanip.h

関数 機能
setw(p) 出力桁数p
setprecision(p)  小数点以下の桁数p
setioflags(ios::fixed)  固定小数点設定
resetiosflags(ios::fixed) 固定小数点解除
setioflags(ios::scientific)  指数形式設定
resetiosflags(ios::scientific) 指数形式設定


C++言語の入出力ライブラリfstream.h

関数 機能
ifstream fin("file name") 入力ファイル設定
fin.get(char)  1文字読込み
fin.eof()  ファイル終端判定
fin.close() 入力ファイルクローズ
ofstream fout("file name")  出力ファイル設定
fout.get(char) 1文字読込み
fout<<char 1文字書込み
fout.close() 出力ファイルクローズ



C++言語サンプルプログラム


#include <iostream>
#include <iomanip>
#include <fstream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main(){
	int i=0;
	double x[50],y;
	double pi=acos(-1.0);                          //円周率

	ifstream fin("input.txt");                     //入力ファイルオープン
	if( !fin ){
		cout << "There is NOT a file.\n";
		exit(0);
	}
	while( !fin.eof() ){
		fin >> x[i];           //ファイルから配列へ読込み
		cout << x[i] << endl ;
		i++;
	}
	fin.close();                                    //入力ファイルクローズ

	ofstream fout("output.csv");                    //出力ファイルオープン
	cout<<setprecision(4)<<setiosflags(ios::fixed);
	fout<<setprecision(5)<<setiosflags(ios::fixed);
	for(i=0;i<=20;i++){
		y=sin(x[i]);           //正弦関数計算
		cout<<setw(14)<<x[i]<<setw(14)<<y<<endl;
		fout<<setw(15)<<x[i]<<","<<setw(15)<<y<<endl;
	}
	fout.close();                                   //出力ファイルクローズ

	return 0;
}





input.txt入力ファイルは,Visual Studio 2010 Expressのプロジェクトファイル名と同じフォルダ名の下に設置します.ここに出力ファイルも出力されます.

Debugフォルダの下ではないので注意します.

input.txt入力ファイル


        0.00000
        0.31416
        0.62832
        0.94248
        1.25664
        1.57080
        1.88496
        2.19911
        2.51327
        2.82743
        3.14159
        3.45575
        3.76991
        4.08407
        4.39823
        4.71239
        5.02655
        5.34071
        5.65487
        5.96903
        6.28319



コンソール出力結果


0
0.31416
0.62832
0.94248
1.25664
1.5708
1.88496
2.19911
2.51327
2.82743
3.14159
3.45575
3.76991
4.08407
4.39823
4.71239
5.02655
5.34071
5.65487
5.96903
6.28319
        0.0000        0.0000
        0.3142        0.3090
        0.6283        0.5878
        0.9425        0.8090
        1.2566        0.9511
        1.5708        1.0000
        1.8850        0.9511
        2.1991        0.8090
        2.5133        0.5878
        2.8274        0.3090
        3.1416        0.0000
        3.4558       -0.3090
        3.7699       -0.5878
        4.0841       -0.8090
        4.3982       -0.9511
        4.7124       -1.0000
        5.0266       -0.9511
        5.3407       -0.8090
        5.6549       -0.5878
        5.9690       -0.3090
        6.2832        0.0000



output.csv出力ファイル


        0.00000,        0.00000
        0.31416,        0.30902
        0.62832,        0.58779
        0.94248,        0.80902
        1.25664,        0.95106
        1.57080,        1.00000
        1.88496,        0.95106
        2.19911,        0.80902
        2.51327,        0.58779
        2.82743,        0.30902
        3.14159,        0.00000
        3.45575,       -0.30902
        3.76991,       -0.58778
        4.08407,       -0.80902
        4.39823,       -0.95106
        4.71239,       -1.00000
        5.02655,       -0.95106
        5.34071,       -0.80902
        5.65487,       -0.58778
        5.96903,       -0.30901
        6.28319,        0.00000