導航:首頁 > 版本升級 > c讀取文件摘要信息

c讀取文件摘要信息

發布時間:2021-12-09 03:04:52

Ⅰ 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!=''){

/*
*以空格為一項成績的分隔標志
*/
tmp=0;
while(*msg!=''&&*msg!=''){
/*
*char類型數字轉int類型數字
*/
tmp=(tmp*10)+((*msg)-'0');
msg++;
}
/*
*求總和
*/
sum+=tmp;
if(*msg==''){

break;
}
msg++;
}
returnsum;
}

intmain(void){

FILE*rfp,*wfp;/*聲明讀取/寫入文件指針*/
charstudent[STU_NUM][MAX_LEN];/*存放讀取到的數據緩存數組*/
charch;
intsum[STU_NUM];/*成績總和*/
inti=0;
intj=0;
intk=0;
rfp=fopen(READ_FILE,"r");/*打開數據文件*/
if(rfp==NULL){

perror(READ_FILE);
exit(1);
}
for(i=0;i<STU_NUM;i++){

sum[i]=0;
}
/*
*逐個字元讀取文件的內容,
*直至遇到文件結束符為止。
*/
i=0;
while((ch=fgetc(rfp))!=EOF){
/*
*遇到換行符表示已經讀取完一個學生的資料;
*否則繼續將數據寫入緩存數組中。
*/
if(ch==' '){

student[i][j]='';
j=0;
i+=1;
}else{

student[i][j++]=ch;
}
}
student[i][j]='';
wfp=fopen(WRITE_FILE,"w");
/*
*開始分析數據
*根據文件存放數據的格式,從下標為2的位置開始分析數據。
*當遇到空格時證明後面的數據是成績,每一科成績分數均以空格分開。
*printf是顯示出來。
*fprintf是寫入另一個文件。
*/
for(j=0;j<=i;j++){

k=2;
printf("%c%c",student[j][0],student[j][1]);
fprintf(wfp,"%c%c",student[j][0],student[j][1]);
while(student[j][k]!=''){

printf("%c",student[j][k]);
fprintf(wfp,"%c",student[j][k]);
k++;
}
printf("'ssumofscoresumis");
fprintf(wfp,"'ssumofscoresumis");
sum[j]=get_sum(&student[j][k]);
printf("%d ",sum[j]);
fprintf(wfp,"%d ",sum[j]);
}
/*
*記得關閉文件哦。
*/
fclose(rfp);
fclose(wfp);
return0;
}

以下是運行結果:

這個程序僅僅是針對你的題目要求來的,文件存放的數據格式不能更改,否則會出錯。每一行必須以回車鍵結束,最後一行的最後一個字元之後什麼也不能有。我盡量以你看得懂的方法來寫,關鍵部分都帶有注釋,有問題不要追問了,自己多思考思考,實在解決不來還是很歡迎可以追問的哦,哈哈哈!!!

Ⅳ 怎樣讀取windows文件的摘要信息

解答如下來:

  1. Alt加雙擊哪個自文件

  2. 用VS打開哪個文件

  3. vs=Microsoft_Visual_Studio_Community_2017

  4. 記住要讓vs正常使用,注冊個msn&live賬號安裝好vs後登陸即可免費使用

  5. 我正在用

Ⅳ 在c語言中,如何讀取一個txt文件中的信息

一般來說在C語言中讀取txt文件的信息有兩種方法,一種是使用C語言標准文件I/O中的fopen()、fread()等等函數,一種是調用操作系統中的API函數,比如Windows上的ReadFile()、OpenFile()等等,現在操作系統一般都具備內存文件映射功能,對於大的txt文件,一般都使用這種方式操作。下面是一個使用C語言標准文件I/O操作文件的例子。

#include<stdio.h>

FILE*stream;

voidmain(void)
{
longl;
floatfp;
chars[81];
charc;

stream=fopen("fscanf.out","w+");
if(stream==NULL)
printf("Thefilefscanf.outwasnotopened ");
else
{
fprintf(stream,"%s%ld%f%c","helloworld",
65000,3.14159,'x');

/*Setpointertobeginningoffile:*/
fseek(stream,0L,SEEK_SET);

/*Readdatabackfromfile:*/
fscanf(stream,"%s",s);
fscanf(stream,"%ld",&l);

fscanf(stream,"%f",&fp);
fscanf(stream,"%c",&c);

/*Outputdataread:*/
printf("%s ",s);
printf("%ld ",l);
printf("%f ",fp);
printf("%c ",c);

fclose(stream);
}
}

java如何獲取文件屬性中的摘要信息

java本身的類庫是沒辦法實現的 如果你會寫C的話,那就用C去獲取操作系統文件屬性,再通過JNI來實現java和C的互操作

Ⅶ c語言 怎麼從文件中讀取指定內容

哥哥我想出的辦法是這樣的:

因為兄弟文件格式是一行一行的, 且每行開頭是一個關鍵字,然後後面是相應數據, 所以哥哥是這么想的, 比如要讀"AB2345"這個關鍵字對應行的內容, 那首先用變數或者宏定義定義下來, 然後從文件開頭開始, 一個字元一個字元的掃描, 對每一行的開始的6個字元組成的關鍵字讀出來跟"AB2345"這個關鍵字比較, 判斷是否是想要讀取的, 如果是, 那麼通過ftell, fseek 兩個函數分別得出當前指針的位置和適當移動指針的位置, 最後讀取相應內容輸出來!

詳細代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BUF_SIZE 1024
#define KEY "AB2345"
#define KEY_LEN 7

int main()
{
int ch = 0;
int first = 1;//開始時的標志,因為是一個字元一個字元的掃描
int flag = 0;//文件開頭是不是所要讀內容的標志
int count = 0;//遇到'\n'的個數
int pre_pos = 0, cur_pos = 0;//前一次和當前文件指針的位置
char buf[BUF_SIZE] = {0};
FILE *fp = NULL;

fp = fopen("test.txt", "r");
if (fp == NULL)
{
printf("Cann't open the file!\n");
exit(1);
}
else
{
while ((ch = fgetc(fp)) != EOF)
{
if (first)
{
//若要讀取的內容在文件開頭就有時
//移動指針到文件開頭
fseek(fp, -1L, SEEK_CUR);
fgets(buf, KEY_LEN, fp);
if (strcmp(buf, KEY) == 0)
{
first = 0;
flag = 1;
continue;
}
else
{
first = 0;
}
}
if (ch == '\n')
{
count++;//遇到'\n'的個數
pre_pos = cur_pos;//上次遇到'\n'時文件指針的位置
cur_pos = ftell(fp);//當前遇到'\n'時文件指針的位置

//文件開頭內容符合要求的就適當移動指針位置
//然後讀取輸出來
if (count == 1 && flag == 1)
{
fseek(fp, 0L, SEEK_SET);
memset(buf, 0, sizeof(buf));
fgets(buf, cur_pos - 1, fp);
printf("%s\n", buf);
}
//之後內容符合要求的就適當移動指針位置
//然後讀取輸出來
else
{
memset(buf, 0, sizeof(buf));
fgets(buf, KEY_LEN, fp);
if (strcmp(buf, KEY) == 0)
{
fseek(fp, (-1) * (KEY_LEN - 1), SEEK_CUR);
memset(buf, 0, sizeof(buf));
fgets(buf, cur_pos-1-pre_pos, fp);
printf("%s\n", buf);
}
}
}
}
}
fclose(fp);

return 0;
}

Ⅷ C++中如何讀取文件內容

兩種讀取方法,一種是按行讀取,一種是按單詞讀取,具體如下:

1、按照行讀取

string filename = "C:\Users\asusa\Desktop\藍橋\rd.txt";

fstream fin;

fin.open(filename.c_str(), ios::in);

(此處空格一行)

vector<string> v;

string tmp;

(此處空格一行)

while (getline(fin, tmp))

{

v.push_back(tmp);

}

(此處空格一行)

for (auto x : v)

cout << x << endl;

2、按照單詞讀取

string filename = "C:\Users\asusa\Desktop\藍橋\rd.txt";

fstream fin;

fin.open(filename.c_str(), ios::in);

(此處空格一行)

vector<string> v;

string tmp;

(此處空格一行)

while (fin >> tmp)

{

v.push_back(tmp);

}

(此處空格一行)

for (auto x : v)

cout << x << endl;

(8)c讀取文件摘要信息擴展閱讀:

有讀取就有寫入,下面是寫入的方法

//向文件寫五次hello。

fstream out;

out.open("C:\Users\asusa\Desktop\藍橋\wr.txt", ios::out);

(此處空格一行)

if (!out.is_open())

{

cout << "讀取文件失敗" << endl;

}

string s = "hello";

(此處空格一行)

for (int i = 0; i < 5; ++i)

{

out << s.c_str() << endl;

}

out.close();

Ⅸ 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;

}

(9)c讀取文件摘要信息擴展閱讀:

fopen函數是打開一個文件,其調用的一般形式為:

文件指針名=fopen(文件名,使用文件方式);

「文件指針名」必須是被聲明為FILE 類型的指針變數;

「文件名」是被打開文件的文件名;

「使用文件方式」是指文件的類型和操作要求;

「文件名」是C風格字元串。

使用文件的方式共有12種,部分的意義如下:

"r" = "rt"

打開一個文本文件,文件必須存在,只允許讀

"rb"

打開一個二進制文件,文件必須存在,只允許讀

Ⅹ 如何獲取文件摘要信息

windows應該沒有提供相關的api函數幫你獲取摘要 我測試了一下,如果你把Office軟體給卸載掉,當你查看該文件的屬性時,就看不到"摘要"的選項卡,這就說明:"摘要

閱讀全文

與c讀取文件摘要信息相關的資料

熱點內容
威脅網路安全的典型案例有哪些 瀏覽:42
瀟湘溪苑師徒訓誡文嚴苛 瀏覽:641
劍靈武器大師幻彩石在哪個文件換 瀏覽:33
男同露骨電影 瀏覽:664
操作軟體映像文件如何下載 瀏覽:736
安卓logopsd 瀏覽:761
ipadmini2還原密碼 瀏覽:145
雲南精準扶貧大數據管理平台登陸 瀏覽:6
android支付微信介面開發 瀏覽:444
和女朋友一起看電影色色的電影 瀏覽:967
數控編程畢業可以干什麼 瀏覽:966
泰國永恆電影下載 瀏覽:306
大數據課程推薦 瀏覽:638
男主是吸血鬼的小說 瀏覽:192
玩網路游戲有什麼壞處 瀏覽:973
愛情電影院最新上映電影 瀏覽:199
大數據有關論文 瀏覽:80
他們要去電影院嗎英語 瀏覽:347
蘋果手機照片保險箱 瀏覽:509
免費的看片網站入囗 瀏覽:497

友情鏈接