オブジェクト間のデータ入出力の関係:
使用のための機能:
1.文字入力\出力は、オブジェクトは、キーボード(及びスクリーン緩衝液)であります
1.1.getchar(A)のputchar(A)。
1.2.scanf(「%d個」、&I)のprintf(「%dの」、I)
2.可変入力\出力は、オブジェクトは、キーボード(及びスクリーン緩衝液)であります
2.1。、(A)を取得プット(A)
2.2.scanf(「%dの%Cは%の2F」、&I、&、&B)のprintf(「%dの%Cは%の2F」、I、B)
3.文字\出力オブジェクトファイル(ファイルやディスクキャッシュ)を入力します
3.1.p = fgetc関数(FP)、FPUT(P); P = GETC(FP)、PUTC(P)
4.複数の入力\出力オブジェクトファイル(ファイルやディスクキャッシュを)チャネリング\文字
4.1.fgets(STR、N、FP)、fputs(STR、FP)
注://のfgetc()関数(のgetc()マクロ)とFPUTC()関数(PUTC()マクロ)
GETC()PUTC()マクロ、fgetc関数()、FPUTC()関数、それらの間の関係であります
#define PUTC(CH、FP)FPUTC(CH、FP)
#define GETC(FP)のfgetc(FP)
したがって、GETC(FP)はfgetc関数(CH、FP)定義されたマクロであり、それらは機能を実現するように、PUTC(CH、FP)は、FPUTC(CH、FP)定義されたマクロであります
4.2。関数fread(バッファ、サイズ、カウント、FP)、関数fwrite(バッファ、サイズ、カウント、FP)
注:関数fread((バッファに格納されたアドレスのデータを読み出す)、バイト数書き込む(サイズ)、データ項目サイズ(数)の読み出しバイト数、ファイル・タイプ・ポインタ(FP))。
fwriteの(アドレス出力データ記憶(バッファ)、書き込むバイト数(サイズ)の数、データ項目サイズ(カウント)、ファイル・タイプ・ポインタ(FP)の読み出しバイト数)。
例:
関数fread(&スタッド[I]、はsizeof(構造体student_type)、1、STDIN); //画面へのprintfとキャッシュ構造\配列変数にデータ()表示データを読み出します
fwriteの(&スタッド[I]、はsizeof(構造体student_type)、1、STDIN)。
4.3。関数fscanf(FP、」%のDは、%C、%の2F」、&I、&、&B)、fpringf(FP、」%のDは、%C、%の2F」、I、B)
注:フォーマットは、読み取りと書き込みに入力\出力端子を制限するが、オブジェクトは、関数freadとfwriteの、コール形式に置き換えることができる(以下を推奨)ディスク・ファイルではありません。
関数fscanf(ファイルポインタ、フォーマットストリング、出力表の列); //ディスクファイルにキャッシュから変数データを読み取り、のprintf()によって表示データ画面に?
関数fprintf(ファイルポインタ、書式文字列、出力テーブルの列)。
例子:関数fscanf(FP、 "%のDは、%F"、&I、&T)。
関数fprintf(FP、 "%のDは、%6.2f"、I、T)。
ファイル構造:
構造体のtypedef
{INT -fd; //ファイル番号
INT -cleft; //バッファの残りの文字は
-modeをint型; //ファイル操作モード
のchar * -nextc; //次の文字の
文字* -buff; //ファイルのバッファロケーション
}ファイル。
例:
ボイドメインの#include "stdio.hの"(){
FILE * ,; するchar * CH;
// R + /、テキストファイルを開き、ファイルが空のファイルで、ファイル位置ポインタ位置の終わりを置く、(0,2、中)のfseekを追加する必要が読み書き;声明
中=ののfopen(「E:\\ \\新しいフォルダに新しいフォルダ\\ A.TXT」、「R +」); //ファイルの追加データの最後に、非空の空のファイルは、ファイル位置ポインタでファイルです終了
(で)//巻き戻し、バックファイルの場所の先頭へのポインタ//
fseek関数(0,2、IN); //ファイルの場所の最後にバックポインタ
// CH = C; //入力文字列が文字化け、割り当てエラーを生成します
CH =&C [0] ;. // 1つのポインタ
アレイを用い//のscanf( "%sの"、C);. // 2
(CH)を取得します。
fputs(CH、IN)。プット(CH);
FCLOSE(中)
}