關於c語言中的I 0函式

2021-06-28 13:46:20 字數 1639 閱讀 5052

1.printf與scanf

printf()函式是格式化輸出函式, 一般用於向標準輸出裝置按規定格式輸出資訊。

scanf()函式式格式化的輸入函式。用於向標準輸入裝置按規定格式輸入資訊。

printf("%d",a);

scanf("%d",&a);

2.getchar與putchar

這兩個函式是專門面向字元i/o而設計的一對函式。

int ch;

ch=getchar()//這個函式沒有引數

它的意思與scanf("%c",&ch)的意思一樣。

putchar函式列印它的引數。

putchar(ch);

它的效果與printf("%c",ch);的意思一樣。

常用方法:

int ch;

while((ch=getchar()!='\n'))

2.gets與puts

gets函式用來讀取字串,它讀取字串直到遇到乙個換行符(\n) 為止,它讀取換行符之前的所有字元,並且在這些字元後面新增乙個空字元(\0)。它讀取換行符就丟棄,下次讀取從下一行開始讀取。

常用方法:

char name[40];

puts("hi,what is your name?");

gets(name);

gets()函式返回的是讀入字串的位址。如果出錯或者gets()遇到檔案結尾,它就返回乙個空位址。這個空位址被稱為空指標。

常用方法:

while(gets(name)!=null)

puts函式是字串的輸出函式,引數是字串的位址。

char *str1="i am a beautiful girl";

puts(str1);

puts函式顯示字串時候自動在其後面新增乙個換行符。

注意:gets和puts函式其實可以通過getchar和putchar函式來實現

比如我想實現乙個puts函式,但是我不讓最後新增乙個換行符

void put(const char *string)

3.getc與putc

這兩個函式的用法與getchar 和putchar函式相似,只是getc與putc函式需要使用檔案。

file *fp;

int ch;

ch=getc(fp);

常用方法:

int ch;

file *fp;

fp=fopen("wacky.txt","r");

while((ch=getc(fp))!=eof)

下面的意思表示將字元ch寫入到file 指標fpout指定的檔案中

putc(ch,fpout);

putc(ch,stdout)與putchar(ch)的作用是一樣的。

4.fprintf與fscanf

fprintf與fscanf與printf和scanf函式的用法大體相似,只是前兩個需要第乙個引數來指定合適的檔案。

寫入檔案的函式fprintf

char words[50];

file *fp;

fprintf(fp,"%s",words);

從檔案中讀取的函式fscanf

while(fscanf(fp,"%s",words)==1)

puts(words);

對檔案I 0緩衝的認識

或許很多初學檔案i o時會認為read 或write 系統呼叫會直接對磁碟中的檔案發起訪問,其實不然,此倆個呼叫只會使使用者空間緩衝區與核心的高速緩衝區之間複製資料。write fd,12345 例如上述操作,當write返回後,在之後的某個時刻核心會將該資料寫入 重新整理至 磁碟 所以系統呼叫其實...

第二章 檔案I 0 函式read write

函式說明 write 會把引數buf所指的記憶體寫入count個位元組到引數放到所指的檔案內。write成功返回,只是buf中的資料被複製到了kernel中的tcp傳送緩衝區。includessize t write int fd,const void buf,size t count 返回值 如果...

Delphi 的ORM框架(即I 0框架)

簡介io是用delphi實現的orm框架 url 有以上描述的大部分優點,同時還有以下特點 演示io自帶的demo primercross 1 支援多種資料庫 2 支援自動建立資料庫和更新資料庫結構 3 提供整合到ide裡面的資料模型設計器 4 支援包括blob memo等多種資料型別 5 支援1對...