C言語でよく使われるいくつかのヘッダファイルとライブラリ関数
不完全な統計では、C言語標準ライブラリの頭ファイルは15個以上あります。だから、私は主にこの4つの頭ファイルstdio.hを紹介します。次は干物です
1.:入出力関数、タイプ、マクロを定義しています。関数は標準ライブラリの3分の1をほぼ占めています。
(1)ファイルアクセス。
アクセスモードは主に「r」です。読み取り専用です。 “w」:書いただけで、既存の内容を削除します。 “a":追加して、末尾に追加する。
“r+」、「w+」:読み書き;「a+"を追加し、上記の末尾に「b」を追加します。バイナリファイルの操作です。
注意:rはファイルを開けますが、wはファイルが存在しない場合に作成します。 w元の内容を上書きします。aは元のファイルの末尾に追加します。
次の二つはあまり使われていません。
(2)バイナリ入出力
注意:writeとreadの対象に注意してください。読むことも書くこともファイルフローfに対してです。
(3)非フォーマット入出力
(4)入出力の書式設定
一定のフォーマットで出力を切り替えます。
sを追加して、文字列に入力/出力します。sprintf(char*s,const char*format,...)
fを追加して、ファイルストリームに入力/出力します。 fprintf(FILE*f、const char*format、…)
(5)ファイル位置決め
あまり使わない:
(6)エラー処理とファイル操作
2.は二つのグループに分けられています。一つのストリップは冒頭で、一つのグループはmemで始まります。(このグループの関数は<memory.h>にも定義があります。すべてのコンパイラではありません。)
(1)str
(2)mem
3.いくつかの数学関数
絶対値を求める数値変換、メモリ割り当てなどの問題。
ポインタ名=(データタイプ *)caloc(n,size)
n個の長さがsizeである連続空間を割り当て、全ての要素をゼロにして、先頭アドレスを返す。
ポインタ名=(データタイプ *)malloc(n*size)
n*sizeバイトのメモリを割り当てて、ヘッダアドレスを返します。
ポインタ名p 1=(データタイプ *)realloc(メモリサイズを変更するポインタ名p 2,新しいサイズn)
長さnバイトの空間を割り当て、p 2値をこのメモリに割り当て、ヘッダアドレスをp 1に返す(p 1がアドレスのメモリサイズを変更する)
締め括りをつける
以上は小编が皆さんに绍介したC言语の中でよく使われているいくつかのファイルとライブラリ関数です。皆さんに助けてほしいです。ここでも私たちのサイトを応援してくれてありがとうございます。
1.
(1)ファイルアクセス。
FILE *fopen(“filename”,“mode”):
アドレスが「filename」のファイルをmodeモードで開き、ファイルポインタに戻ります。アクセスモードは主に「r」です。読み取り専用です。 “w」:書いただけで、既存の内容を削除します。 “a":追加して、末尾に追加する。
“r+」、「w+」:読み書き;「a+"を追加し、上記の末尾に「b」を追加します。バイナリファイルの操作です。
注意:rはファイルを開けますが、wはファイルが存在しない場合に作成します。 w元の内容を上書きします。aは元のファイルの末尾に追加します。
int fclose(FILE *f):
バッファデータをリリースして、ストリームを閉じます。次の二つはあまり使われていません。
FILE *freopen(“filename”,“mode”,FILE * f):
アドレスが「filename」のファイルをmodeモードで開き、このファイルをストリームf 2に関連付ける。
int fflush(FILE *f):
バッファに書き込みましたが、ファイルに書き込まれていないすべてのデータをファイルに書き込みます。(2)バイナリ入出力
fread(*ptr,size,n,FILE* f):
fからn個の長さがsizeのオブジェクトを読み出し、ptrが指す配列に入れます。
fwrite(*ptr,size,n,FILE* f):
ptr指向配列からn個の長さsizeのオブジェクトを読み出し、fに書き込みます。注意:writeとreadの対象に注意してください。読むことも書くこともファイルフローfに対してです。
(3)非フォーマット入出力
int fgetc/getc(FILE *f):
ストリームfの次の文字を返してファイルの末尾/エラーが発生したらEOFに戻ります。
int fputc/putc(int c, FILE *f)
文字cをストリームfに入力します。
int fgets(char * s,int n,FILE *f):
配列sにf中の下n-1文字を読み込みます。改行があったら終了します。
int fputs(const char * s,FILE *f):
文字列sをストリームに出力します。
int unget(int c, FILE *f)
cをfに書き返す。(4)入出力の書式設定
一定のフォーマットで出力を切り替えます。
scanf/fscanf/sscanf
printf/fprintf/sprintf
f/sを追加しないと、書式文字列標準入力/アウトプット関数で、端末/画面に入力/出力します。printf(const char*format)sを追加して、文字列に入力/出力します。sprintf(char*s,const char*format,...)
fを追加して、ファイルストリームに入力/出力します。 fprintf(FILE*f、const char*format、…)
(5)ファイル位置決め
long ftell(FILE *f):
現在のポインタの位置を返します。エラー時は-1 Lを返します。
int fseek(FILE *f,long offset,int origin):
現在のフローfポインタの位置を、orign後offsetの文字に設定します。オリジン有:SEEK_SET:ファイルの開始位置。SEEK_CURゲージ現在位置、SEEK_END:ファイル終了位置。
void rewind(FILE *f)
ポインタはファイルの開始位置に戻ります。fseek(f,0 L,SEEK_)に相当します。SET)あまり使わない:
int fgetpos(FILE *f,*p)
ポインタの現在位置を*pに記録して、fsetpos関数で使用します。
int fsetpos(FILE *f,const *p)
ポインタの位置は*pを指します。(6)エラー処理とファイル操作
int feof(FILE *f)
ファイルが終了し、ずっと0に戻り、終了したら0でない値を返します。
int ferror(FILE *f)
fに関するエラーインジケータが設定されている場合、非0値が返されます。
int remove(char *filename)
指定された場所のファイルを削除します。
int rename(const char *oldname,const char *newname)
ファイル名を変更すると、0以外の値を返します。
FILE *tmpfile(void)
一時ファイルを作成します。'wb+'モードは、オフまたは正常終了時に自動的に削除されます。2.
(1)str
char * strcpy (char *dest, const char *src);
文字列srcを文字列destにコピーし、destを返します。
char * strncpy (char *dest, const char *src,n);
srcの前のn文字をdestにコピーし、destに戻ります。n個でないと\0'を補います。
char * strcat (char *dest, const char *src);
char * strncat (char *dest, const char *src,n);
srcはdestに接続された後;srcの先頭n文字はdestの後に接続されています。
int strcmp (const char *s1, const char *s2);
int strncmp (const char *s1, const char *s2,n); s1 s2,s1<s2 , 0; n
char * strchr (const char *s, int c);
char * strrchr (const char *s, int c); s c ; s c (c char)
あまり見かけないsize_t strcspn(const char*s 1、const char*s 2)char*strudp(const char*)char*sterror(int errnum);(2)mem
void *memcpy(void *s, const void *ct,n)
文字列ctの先頭n文字をsにコピーしてsに返します。
void *memmove(s,ct,n) , 。
void *memset(void *s,int c, n)
sの最初のn文字をcに置き換えてsを返します。
int memcmp(cs,ct,n)
csの前のn文字をctと比較し、cs
void *memchr(cs,c,n)
csにおいて初めて現れる位置ポインタを返します。3.
絶対値を求める
int abs (int x);
long labs (long x);
float fabs (float x):
すべての戻り値はdoubleで、三角関数の角度はラジアンで表して、x、yは全部doubleです。
double acos (x);
double asin (x);
double atan (x);
double atan2 (y, x): arctan(y/x)
double tan (x);
double tanh (x):
double sin (x);
double sinh (x);
double cos (x);
double cosh (x);
double pow (x, y);//
double sqrt (x);
double ceil (x): x ( )
double floor (x): x ( )
double exp (x);
double fabs (x);
double log (x): ln(x)
double log10 (x);
double fmod (x, y): x/y
double ldexp (x, n): x*2^n
double modf (x, double *ip): x , , *ip
double frexp (x, int *exp); x (0.5,1) 2 , , exp
4.
int rand(void)
0〜32767の間のランダム整数が生成されます。ポインタ名=(データタイプ *)caloc(n,size)
n個の長さがsizeである連続空間を割り当て、全ての要素をゼロにして、先頭アドレスを返す。
ポインタ名=(データタイプ *)malloc(n*size)
n*sizeバイトのメモリを割り当てて、ヘッダアドレスを返します。
ポインタ名p 1=(データタイプ *)realloc(メモリサイズを変更するポインタ名p 2,新しいサイズn)
長さnバイトの空間を割り当て、p 2値をこのメモリに割り当て、ヘッダアドレスをp 1に返す(p 1がアドレスのメモリサイズを変更する)
void free(*p)
p指向メモリ(pはmalloc,realloc,calocが開発したメモリ)をリリースします。
void abort (void)
プログラムを正常に終了させません。
void exit(int status)
プログラムを正常に終了させる。締め括りをつける
以上は小编が皆さんに绍介したC言语の中でよく使われているいくつかのファイルとライブラリ関数です。皆さんに助けてほしいです。ここでも私たちのサイトを応援してくれてありがとうございます。