『壹』 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語言怎樣將文本文件中的內容讀取列印
可以參考下面的代碼:
#include<stdio.h>
#define F_PATH "d:\myfile\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回錯誤代碼
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //從文本中讀入並在控制台列印出來
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址
return 0;
}
(2)c提取文件內容擴展閱讀:
fopen函數是打開一個文件,其調用的一般形式為:
文件指針名=fopen(文件名,使用文件方式);
「文件指針名」必須是被聲明為FILE 類型的指針變數;
「文件名」是被打開文件的文件名;
「使用文件方式」是指文件的類型和操作要求;
「文件名」是C風格字元串。
使用文件的方式共有12種,部分的意義如下:
"r" = "rt"
打開一個文本文件,文件必須存在,只允許讀
"rb"
打開一個二進制文件,文件必須存在,只允許讀
『叄』 如何用C提取文本文檔中的數據
C語言讀取文本文件的內容,應該使用FILE指針變數,fopen\fscanf\fgets\fclose等函數完成,例子
main(){
FILE *FP;
char str[255];
FP=fopen("abc.txt","r");
if (FP!=NULL){
fgets(fp,str);
printf("文件的第一行是:%s\n",str);
fclose(FP);
}else printf("打開文件失敗!\n");
}
『肆』 C語言編寫,如何做到只提取文件數字。
//看得明白的吧
#include <stdio.h>
#include <assert.h>
int main()
{
FILE *fp=fopen("c:\\1.txt","r");
assert(fp!=NULL);
char s[1000];
while(fscanf(fp,"%s",s)==1)
{
int n;
if(sscanf(s,"%d",&n)==1)
//printf("%d\n",n);
printf("數字:%d\n",n);
else
{
printf("跳過字元串:%s\n",s);
}
}
fclose(fp);
return 0;
}