C程式設計筆記 第10章 檔案輸入輸出

2021-09-12 04:15:43 字數 1914 閱讀 6527

1、開啟檔案

fopen(檔名,使用檔案方式);(注意是雙引號不是單引號)

使用檔案方式有:」r"(唯讀)  「w」(只寫)  「a」(追加)

以二進位制檔案為物件時: 「rb」(唯讀)  「wb」(只寫)  「ab」(追加)

file *fp;  //fp是指向檔案的指標變數

if((fp=fopen("file.txt","r"))==null)

2、關閉檔案

fclose(檔案指標)

fclose(fp);//將緩衝區的資料寫入檔案再關閉

3、讀寫字元&字串:

fgetc(fp) 從fp指向的檔案讀入乙個字元

fgets(str,n,fp) 從fp指向的檔案讀入乙個長為n-1的字串,存放在字元陣列str中(最後乙個字元自動為』\0』),如果遇到換行符或者檔案結束符eof則結束,換行符也讀入。

fputc(ch,fp) 把字元ch寫到fp指向的檔案中

fputs(str,fp) 把str指向的字串寫到fp指向的檔案中

4、格式化方法讀寫檔案

fscanf(檔案指標,格式字串,輸入列表);//輸入列表注意是否需要加&

fprintf(檔案指標,格式字串,輸出列表)

int i;  float f;

fscanf(fp,」%d %f」,&i,&f);

5、二進位制方式讀寫一組資料

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

size:乙個資料項的位元組數

count:要讀寫的資料項數

fread(&stud[i],sizeof(struct student_type),1,fp);//每次從檔案中讀入乙個組stud大小的元素進陣列stud中

fwrite(&stud[i],sizeof(struct student_type),1,fp);//將元素stud[i]寫入檔案中

題目(2018數計院複試筆試題最後一題)

實現從data.txt檔案從讀取學生資訊(建立學生資訊結構體)並建立鍊錶,然後按字母表公升序排序將其排序(學生姓名全為英文名,但有大小寫的不同),最後將排序好的學生資訊從鍊錶輸出到另乙個檔案中(將姓名第乙個字母調整為大寫,其餘字母均為小寫)。題目中給定了三個函式名,分別為輸入函式(實現從data.txt讀取學生資訊,返回值型別為指標型別)、輸出函式(將已排序的學生資訊按格式要求輸出到另乙個檔案中)、main函式,做題時必須按照這個框架寫。

(用fscanf和fprintf是最方便的了)

輸入檔案:

zzz 90

aaa 80

bbb 85

**:

#include //使用標準函式庫中的輸入輸出函式 

#include #include #include using namespace std;

struct stu

;int cnt=0;//學生數

stu *input(char filename)

stu *p=head;

while(!feof(fp))

p->next=null;

fclose(fp);

return head;

}void output(char filename,stu* stu)

stu *p=stu->next;//此時p指向第乙個結點

while(p)

fclose(fp);

}int main()

pre=pre->next;

p=p->next;

q=q->next;

} }output(c2,stu);

}

輸出檔案(結果):

aaa 80

bbb 85

zzz 90

第13章 檔案輸入 輸出

函式 fopen getc putc exit fclose fprintf fscanf fgets fputs rewind fseek ftell fflush fgetpos fsetpos feof ferror ungetc setvbuf fread fwrite 如何使用c標準i o...

第13章 檔案輸入 輸出(待續)

1.修改程式清單13.1中的程式,要求提示使用者輸入檔名,並讀取使用者輸入的資訊,不使用命令列引數。2。編寫乙個檔案拷貝程式,該程式通過獲取命令列獲取源檔名和拷貝檔名。盡量使用標準i o和二進位制模式。3.編寫乙個檔案拷貝程式,提示使用者輸入文字檔案名,並以該檔名作為源檔名和輸出檔名。該程式要使用c...

第9章 檔案和輸入輸出 2

9.3 檔案內建方法 9.3.1 輸入 read 方法用來直接讀取位元組到字串中,最多讀取給定數目個位元組。readlines 方法讀取開啟檔案的一行。然後整行,包括行結束符,作為字串返回。9.3.2 輸出 write 方法把含有文字資料或二進位制資料塊的字串寫入到檔案中去。wirlelines 方...