Ⅰ c語言怎麼提取文本文件中我想要的一些信息
使用文件操作函數fscanf即可提取文本當中特定的信息。例如要提取一個整數,可以用fscanf(fp,"%d",&n);要提取一個字元串可以用fscanf(fp,"%s",s),其中fp為文件指針。
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("不能打開文件!");
return0;
}
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語言讀取文件數據
先用getline或fgets讀取數據到一個字元串中,這個串定義的長一點,保證夠用就行。
舉例:回
char str[1024]。
fgets( str , sizeof(str), fp ),//fp打開的答文件指針。
然後調用for循環去讀取串的的數據,假設你的分隔符是空格,遍歷str,遇到空格就得到一個數據,然後繼續遍歷,直到str尾。
再去fgets數據,再遍歷,即可得到所有的數據。
C語言是一門通用計算機編程語言,廣泛應用於底層開發。
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
Ⅲ 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!='