2014/11/26 by jxlijunhao
在這個頭文件中包含了,單字符處理函數和字符串處理函數,標准輸入輸入操作,流操作,從文件讀取,寫入函數,塊I/O 等。下面記錄的部分
標准輸入輸出:
int getchar ( void ); //從標准輸入中讀取一個字符
int putchar ( int character );//向標准輸出中輸出
流操作:
int putc ( int character, FILE * stream );//向一個輸入流中寫入字符
int getc ( FILE * stream ); //從輸出流中讀一個字符
跟上面功能等價的是
int fgetc ( FILE * stream );
int fputc ( int character, FILE * stream );
FILE * fopen ( const char * filename, const char * mode );//打開文件
"r" : 讀取數據
"w" : 假設打開的文件名本來就存在,那麼原來的內容會被清空,然後重新寫入新的內容
"r+": 讀取/更新
"w+": 寫入/更新,若文件存在,那麼舊的內容會被清空
"a+": 向文件中加入新的內容
int fclose ( FILE * stream );
下面是一個簡單的例子,從一個標准輸入中輸入數據,並將其保存到文件中
#include
int main()
{
//從鍵盤中讀入一組數據,若輸入中有‘#’,則結束,並將其保存到文本文件中
char c;
FILE *pFile;
pFile=fopen("myFile.txt","w+");
while (1)
{
c=getchar();
if (c=='#')break;
fputc(c,pFile);
}
fclose(pFile);
//讀取文件中的數據,並顯示出來
pFile=fopen("myFile.txt","r");
if (pFile!=NULL)
{
while (c!=EOF)
{
c=fgetc(pFile);
putchar(c);
}
}
fclose(pFile);
}
塊I/O操作:文件定位
int fseek ( FILE * stream, long int offset, int origin ); //文件定位
第三個參數開始,從哪個位置開始計算 offset,有三個可選的值:
SEEK_SET: 從文件的開始
SEEK_CUR:從文件的當位置
SEEK_END: 從文件末尾 (注意是offset要設定為負數,從-1開始)
下面的例子:將"THIS IS A TSTE FILE"中第5個位置處改成小寫
int main()
{
FILE *pFile;
pFile=fopen("test.txt","wb");
fputs("THIS IS A TEST FILE.",pFile);
fseek(pFile,5,SEEK_SET); //從文件起始
fputs("i",pFile);
fclose(pFile);
}