① c語言文件讀寫方式:兩種讀寫方式r和r+到底有什麼區別啊
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fd;
char buf[1024];
char e[10];
int i,j=3;
if ((fd = fopen("file1.dat","ab+")) == NULL) //r是打開一個用於讀取的文本文件.rb+是打開一個文件,並在末尾追加數據
{
printf("ERROR\n");
return 0;
}
else
{
fread(buf,1024,1,fd); //讀取源文件的內容,我寫的file1.dat的文件內容為三個字元
buf[j] = '\0';
printf("原文件內容為%s\n",buf);
printf("請輸入你要添加的數據\n");
gets(e); //你要加在源文件後面的內容,鍵盤輸入
fwrite(e,strlen(e),1,fd); //把你輸入的字元串加在文件後面
j+=strlen(e); //文件內容增加
fseek(fd,0,0); //把文件的標號偏移到開頭
fread(buf,1024,1,fd); //讀取寫入後的文件內容
buf[j] = '\0';
printf("寫入後的文件為%s\n",buf);
}
}
r是打開只讀文件.
這是我改的,可以讀寫
② c語言 怎麼讀文件中的漢字
字元讀寫函數fgetc和fputc
字元讀寫函數是以字元(位元組)為單位的讀寫函數。 每次可從文件讀出或向文件寫入一個字元。
1) 讀字元函數fgetc
fgetc函數的功能是從指定的文件中讀一個字元,函數調用的形式為:
字元變數=fgetc(文件指針);
例如:
ch=fgetc(fp);
其意義是從打開的文件fp中讀取一個字元並送入ch中。
對於fgetc函數的使用有以下幾點說明:
在fgetc函數調用中,讀取的文件必須是以讀或讀寫方式打開的。
讀取字元的結果也可以不向字元變數賦值。例如:fgetc(fp); 但是讀出的字元不能保存。
在文件內部有一個位置指針。用來指向文件的當前讀寫位元組。在文件打開時,該指針總是指向文件的第一個位元組。使用fgetc 函數後,該位置指針將向後移動一個位元組。 因此可連續多次使用fgetc函數,讀取多個字元。應注意文件指針和文件內部的位置指針不是一回事。文件指針是指向整個文件的,須在程序中定義說明,只要不重新賦值,文件指針的值是不變的。文件內部的位置指針用以指示文件內部的當前讀寫位置,每讀寫一次,該指針均向後移動,它不需在程序中定義說明,而是由系統自動設置的。
【例13-1】讀入文件c1.doc,在屏幕上輸出。#include<stdio.h>main(){ FILE *fp; char ch; if((fp=fopen("d:\\jrzh\\example\\c1.txt","rt"))==NULL){ printf("\nCannot open file strike any key exit!"); getch(); exit(1); } ch=fgetc(fp); while(ch!=EOF){ putchar(ch); ch=fgetc(fp); } fclose(fp);}
本常式序的功能是從文件中逐個讀取字元,在屏幕上顯示。程序定義了文件指針fp,以讀文本文件方式打開文件「d:\\jrzh\\example\\ex1_1.c」,並使fp指向該文件。如打開文件出錯,給出提示並退出程序。程序第10行先讀出一個字元,然後進入循環,只要讀出的字元不是文件結束標志(每個文件末有一結束標志EOF)就把該字元顯示在屏幕上,再讀入下一字元。每讀一次,文件內部的位置指針向後移動一個字元,文件結束時,該指針指向EOF。執行本程序將顯示整個文件。
2) 寫字元函數fputc
fputc函數的功能是把一個字元寫入指定的文件中。函數調用的形式為:
fputc( 字元量, 文件指針 );
其中,待寫入的字元量可以是字元常量或變數,例如:
fputc('a',fp);
其意義是把字元a寫入fp所指向的文件中。
對於fputc函數的使用也要說明幾點:
被寫入的文件可以用寫、讀寫、追加方式打開,用寫或讀寫方式打開一個已存在的文件時將清除原有的文件內容,寫入字元從文件首開始。如需保留原有文件內容,希望寫入的字元以文件末開始存放,必須以追加方式打開文件。被寫入的文件若不存在,則創建該文件。
每寫入一個字元,文件內部位置指針向後移動一個位元組。
fputc函數有一個返回值,如寫入成功則返回寫入的字元,否則返回一個EOF。可用此來判斷寫入是否成功。
③ c語言讀取文本文件
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串
printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數
fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return0;
}
④ C語言讀取文件內容,按行讀
1通過fopen函數打開文本,例如file
*fp=fopen("in.txt","r");//返回一個file類型的句柄
2然後就可以通過fcanf()函數對txt文本進行讀取
3操作完文本之後用fclose()函數
關閉已經打開的文件。
#include
int main()
{
int data;
file *fp=fopen("in.txt","r");
if(!fp)
{
printf("can't open file\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return 0;
}
⑤ c 如何讀文件
在C語言開發中,想要讀入一個文件。C語言可以使用FILE文件操作進行高和肢讀取。下面小白就來簡單說說C語言如何讀取一個txt文件。
C語言讀取步驟一:首先需要以寫入的方式打開一個空白的texr.txt文件。FILE*fpWrite=fopen("text.txt";"w");
C語言讀取步驟二:打開以後,繼續進行循環寫入0到9的操作。代碼。
C語言讀取棚早步驟三:完成文件寫入操作後,一定戚世要記得對打開文件進行關閉操作。
C語言讀取步驟四:接下來對文件中寫入數據的讀取。首先需要創建一個用於保存讀取數據的數組。
C語言讀取步驟五:創建好數組以後,以讀取的方式對text.txt文件進行打開操作。
C語言讀取步驟六:最後,將讀取到的數據循環保存的創建好的數組中,並且將其顯示到控制台中。
⑥ 怎樣用c語言讀取文件的標題
你的文件中標題格式是什麼,就按格式fscanf讀,與內容讀取一樣
⑦ C語言文件的文本怎麼讀取
根據你給的文件保存的數據的格式,我猜測每一行是一個學生的信息,格式如下:
序號 姓名 成績1 成績2 成績3 ...
知道了題意和題目要求,那麼一切將會變得簡單起來,請看代碼。
#include<stdio.h>
#defineREAD_FILE"data.txt"/*要讀取的文件的名字*/
#defineWRITE_FILE"T_data.txt"/*要寫入的文件的名字*/
#defineSTU_NUM10/*最大學生人數*/
#defineMAX_LEN50/*一行的最大字元數*/
/*
*獲取總分函數
*/
intget_sum(charconst*msg){
intsum=0;
inttmp;
/*
*遍歷一行字元
*/
while(*msg!='