#include “stdio.h”
main()
{
FILE *fp;
char ch,filename[10];
scanf(“%s”,filename);
if((fp=fopen(filename,”w”)==NULL)
{
printf(“cann’t open filen”);
exit(0);
}
ch=getchar();
while(ch!=’#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
拓展閱讀:
基於C的檔案操作
在ANSI C中,對檔案的操作分為兩種方式,即流式檔案操作和I/O檔案操作,下面就分別介紹之。
一、流式檔案操作
這種方式的檔案操作有一個重要的結構FILE,FILE在stdio.h中定義如下:
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
int bsize; /* Buffer size */
unsigned char _FAR *buffer; /* Data transfer buffer */
unsigned char _FAR *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE; /* This is the FILE object */
FILE這個結構包含了檔案操作的基本屬性,對檔案的操作都要通過這個結構的指標來進行,此種檔案操作常用的函式見下表 函式 功能
fopen() 開啟流
fclose() 關閉流
fputc() 寫一個字元到流中
fgetc() 從流中讀一個字元
fseek() 在流中定位到指定的字元
fputs() 寫字串到流
fgets() 從流中讀一行或指定個字元
fprintf() 按格式輸出到流
fscanf() 從流中按格式讀取
feof() 到達檔案尾時返回真值
ferror() 發生錯誤時返回其值
rewind() 復位檔案定位器到檔案開始處