當前位置:首頁 » 編程語言 » c語言如何讀取文本的時間
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言如何讀取文本的時間

發布時間: 2022-07-23 18:02:40

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語言的問題。我想從TXT文本文件中提取時間數據(數據格式為14:44:57.00)。請問如何提取。

想准確的對一個文本解析。不知道大概格式是很難的。比如:
12:13:12:13 可能是正確的數據 但是 12:12:13:45:45:34 呢?因此製作文本i必須有特定規范。"協議「。。。方便解析。這個和網路截取數據包。但是未必能解析出來一樣的。但是還是能得出一部分的。對不對就不知道了。你實在要解析,可以從『:』開始匹配。看能不能匹配出連續的像:
」XX:XX:XX:XX" 的數據,並保證時在0-23之間。。同理分秒在0-59之間,等等判斷。
數據是什麼類型。這個沒人知道。也許別人按照int 和字元。。也許完全是字元。也許是string..結構體等等。但都可以當二進制文件訪問

㈢ C語言如何讀取txt文本裡面的內容

C語言可以使用fopen()函數讀取txt文本里。

示例:

#include <stdio.h>

FILE *stream, *stream2;

void main( void )

{

int numclosed;

/* Open for read (will fail if file "data" does not exist) */

if( (stream = fopen( "data", "r" )) == NULL )

printf( "The file 'data' was not opened " );

else

printf( "The file 'data' was opened " );

/* Open for write */

if( (stream2 = fopen( "data2", "w+" )) == NULL )

printf( "The file 'data2' was not opened " );

else

printf( "The file 'data2' was opened " );

/* Close stream */

if(fclose( stream2 ))

printf( "The file 'data2' was not closed " );

/* All other files are closed: */

numclosed = _fcloseall( );

printf( "Number of files closed by _fcloseall: %u ", numclosed );

}

(3)c語言如何讀取文本的時間擴展閱讀

使用fgetc函數

#include <stdio.h>

#include <stdlib.h>

void main( void )

{

FILE *stream;

char buffer[81];

int i, ch;

/* Open file to read line from: */

if( (stream = fopen( "fgetc.c", "r" )) == NULL )

exit( 0 );

/* Read in first 80 characters and place them in "buffer": */

ch = fgetc( stream );

for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )

{

buffer[i] = (char)ch;

ch = fgetc( stream );

}

/* Add null to end string */

buffer[i] = '';

printf( "%s ", buffer );

fclose( stream );

}

㈣ 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;
}

以下是運行結果:

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

㈤ C語言如何實現對txt文件的讀取和寫入

1、使用VS新建空工程,直接點擊確定,如下所示。

㈥ c語言中讀取文本文檔求代碼和各個步驟解析

拿作業給你說下
FILE *f;//設置文件指針
f = fopen("d:\\T\\inf.txt", "r");//打開指定文件
char a;
fseek(f, -50, 2);//設置文件指針位置
fread(&a, 1, 1, f);//將當前位置的n個字元串讀到a開始的空間中這里只有一個字元
fclose(f);//關閉文件
if (a != '\0')
{
f = fopen("d:\\T\\inf.txt", "a+");
char kk[51] = { '\0' };
fwrite(kk, sizeof(char), 51, f);
fclose(f);
}
f = fopen("d:\\T\\inf.txt", "r");
Clist*L = (Clist*)malloc(sizeof(Clist)), *L1, *L2;
L2 = L; L->next = NULL;
int i = 0;
for (;; i++)
{
char *in = (char*)malloc(50 * sizeof(char));
fseek(f, i * 50 , 0);
fread(in,1, 50, f);
L1 = (Clist*)malloc(sizeof(Clist));
strcpy(L1->k, in);
L->next = L1;
L = L1;
L->next = NULL;
if (in[0]=='\0')
break;
}
fclose(f);
char*s = (char*)malloc(50 * i);
char*s1;s1 = s;
int cal = 0;
while (i>0) {
L2 = L2->next;
strcpy(s1, L2->k);
cal += 50;s1 = &s[cal];
i--;
}
return s;

㈦ 在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);
}
}

㈧ 如何用c語言從txt文件中讀取數據

用C語言從txt文件中讀取數據,可以使用C標准庫文件自帶的文件介面函數進行操作。
一、打開文件:
FILE *fopen(const char *filename, const char *mode);
因為txt文件為文本文件, 所以打開時選擇的mode應為"r"或者"rt"。
二、讀取文件:
讀取文件應根據文件內容的格式,以及程序要求,選擇讀取文件的函數。可以使用一種,也可以幾種混用。 常用的文件讀取函數如下:
1、fgetc, 從文件中讀取一個位元組並返回。 適用於逐個位元組讀取。
2、 fgets, 從文件中讀取一行。適用於整行讀取。
3、fscanf, 格式化讀取文件, 在已經清楚文件存儲格式下,可以直接用fscanf把文件數據讀取到對應類型的變數中。
4、fread, 整塊讀取文件, 對於txt文件比較少用。
三、關閉文件:
讀取結束後,應調用fclose函數關閉文件。