當前位置:首頁 » 編程語言 » c語言讀取txt文件內容

c語言讀取txt文件內容

發布時間: 2023-05-23 03:05:26

c語言怎麼從TXT文件中讀入數據

像這種情況,有多種方法,最簡單的方法是:

1.用"記事本"創建a.txt文件,保存在一個文件夾中,設保存在d:之下

2.編寫程序,並運行

#include<stdio.h>

intmain()

{

inta[10][4];/*假定不超過10行,每行一定有4個元素*/

inti,j;

FILE*fp;

/*打開文件*/

fp=fopen("d:\a.txt","r");/*假設a.txt在d盤根目錄下*/

if(!fp)exit(0);

for(j=0;j<4;j++)/*假定有j行*/

for(i=0;i<4;i++)

fscanf(fp,"%d",&a[j][i]);/*讀一個數據*/

/*關閉文件*/

fclose(fp);

/*顯示運行結果*/

for(j=0;j<4;j++)/*假定有j行*/

{for(i=0;i<4;i++)

printf("%4d",a[j][i]);

printf(" ");

}

return0;

}

以上演示了文本文件的讀寫操作,供你參考.

在讀寫文件時,文件內部有一個"指針"會悄悄地變化(但你看不到),所以讀一個數據後,再讀可以得到下一個數據.

⑵ 請問如何用c語言從txt文件中讀取數據

#include<stdio.h>
main()
{
int i=0,j=0;
int a[100];
FILE *fp;
if((fp=fopen("1.txt","rt"))==NULL)
{
printf("error!\n");
getch();
exit(1);
}
while(!feof(fp))
{fscanf(fp,"%d",&a[i]);i++;}
for(j=0;j<i;j++)
printf("%d",a[j]);
fclose(fp);
}
回答者: hwuaxj - 千總 四級 12-23 12:35
//其中的in.txt就是你要讀取數據的文件,當然把它和程序放在同一目錄
-------------------------------------

#include <stdio.h>
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語言文件操作,要讀取一個txt文件內容,應該怎麼做

//data.txt文件內容如下x0dx0ax0dx0a1個豬x0dx0a2個豬x0dx0a3個豬x0dx0a4個豬x0dx0a5個豬x0dx0a6個豬x0dx0a7個豬x0dx0a8個豬x0dx0ax0dx0a//運行結果一x0dx0athe 8 line :8 個 豬x0dx0ax0dx0aPress any key to continue x0dx0a//運行結果二x0dx0aout of range!x0dx0aPress any key to continue x0dx0ax0dx0a//代碼如下x0dx0a#include x0dx0a#include x0dx0a#include x0dx0amain(void)x0dx0a{x0dx0aint lid,cnt=0,flag=0;;x0dx0achar buf[100]="\0";x0dx0aFILE *fp;x0dx0ax0dx0asrand((unsigned)time(NULL));x0dx0afp=fopen("data.txt","r");x0dx0alid= rand()%10+1;x0dx0awhile (fgets(buf,99,fp)!=NULL)x0dx0a{x0dx0aif(cnt==lid)x0dx0a{x0dx0aprintf("the %d line :%s\n",lid+1,buf);x0dx0aflag=1;x0dx0abreak;x0dx0a}x0dx0acnt++;x0dx0a}x0dx0aif (flag==0)x0dx0a{x0dx0aprintf("out of range!\n");x0dx0a}x0dx0a}

⑷ C語言怎麼打開TXT文件

C語言,打開文件一個TXT文件,需要使用fopen()函數。

它的函數原型位FILE * fopen(const char * path,const char * mode);

如果文件順利打開後,返回指向該流的文件指針就會。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。

一般而言,打開文件後會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。

參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。

mode有下列幾種形態字元串:

r 以只讀方式打開文件,該文件必須存在。

r+ 以可讀寫方式打開文件,該文件必須存在。

rb+ 讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。

w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。

w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。

a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)

a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)

wb 只寫打開或新建一個二進制文件;只允許寫數據。

wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。

ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。

wx 創建文本文件,只允許寫入數據.[C11]

wbx 創建一個二進制文件,只允許寫入數據.[C11]

w+x 創建一個文本文件,允許讀寫.[C11]

wb+x 創建一個二進制文件,允許讀寫.[C11]

w+bx 和"wb+x"相同[C11]

以x結尾的模式為獨占模式,文件已存在或者無法創建(一般是路徑不正確)都會導致fopen失敗.文件以操作系統支持的獨占模式打開

下面讀取TXT文件的行數並把把TXT文件的內容存到數組中。

這里假設每行是一個字元串,每行不超過127個字元(用數組存字元串,最後一位存''),選取fgets進行讀取。

示例代碼如下:

#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv){
FILE*rf=fopen("input.txt","r");
chara[1024][128];
inti=0;
while(fgets(a[i],128,rf))i++;
intn=i;
printf("行數:%d ",n);
fclose(rf);
i=0;
while(i<n)printf("%s",a[i++]);
system("pause");
return0;
}

⑸ 怎樣用C語言從txt文件中讀入數據

1 以fopen打開文件,使用"r"方式。

2 通過fscanf,按照文件中的數據格式,讀入數據。

3 關閉文件並使用數據。

如文件in.txt中存在三個以空格分隔的數據,依次為整型,字元串,以及浮點型,則讀取數據的代碼可以寫作:

intmain()
{
FILE*fp;
inta;
chars[100];
floatf;
fp=fopen("in.txt","r");
if(fp==NULL)return-1;//打開文件失敗,結束程序。
fscanf(fp,"%d%s%f",&a,s,&f);
fclose(fp);

printf("readvalue:%d,%s,%f",a,s,f);
}

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

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

⑺ 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 );

}

(7)c語言讀取txt文件內容擴展閱讀

使用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語言讀取一個txt文件

如果預知前面的是英文後面的是中文,即可分開:

#include<stdio.h>

#define N 100

void main() { FILE *fp; char s[256],y[N][20],h[N][20]; int i,n;

if ( fp=fopen("c:\data\text.txt","r") ) {

n=0;

while ( !feof(fp) ) {

fgets(s,256,fp); sscanf("%s%s",y[n],h[n]); n++; if ( n>=N ) break;

}

fclose(fp);

printf("英文: "); for ( i=0;i<n;i++ ) printf("%s ",y[i]); printf(" ");

printf("中文: "); for ( i=0;i<n;i++ ) printf("%s ",h[i]); printf(" ");

} else printf("無法打開文件讀取。 ");

}

如果中英文順序不一定,且不會有中英文混合單詞:

#include<stdio.h>

#include<string.h>

#define N 100

void main() { FILE *fp; char s[256],y[N][20],h[N][20]; int i,n;

if ( fp=fopen("c:\data\text.txt","r") ) {

n=0;

while ( !feof(fp) ) {

fgets(s,256,fp); sscanf("%s%s",y[n],h[n]);

if ( y[n][0]<0 ) { strcpy(s,y[n]);strcpy(y[n],h[n]);strcpy(h[n],s); } //漢字字元ASCII碼小於0

n++; if ( n>=N ) break;

}

fclose(fp);

printf("英文: "); for ( i=0;i<n;i++ ) printf("%s ",y[i]); printf(" ");

printf("中文: "); for ( i=0;i<n;i++ ) printf("%s ",h[i]); printf(" ");

} else printf("無法打開文件讀取。 ");

}

⑼ 在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文件內容

1通過fopen函數打開文本,例如FILE *fp=fopen("in.txt","r");//返回一個FILE類型的句柄

2然後就可以通過fcanf()函數對txt文本進行讀取

3操作完文本之後用fclose()函數 關閉已經打開的文件。

#include<stdio.h>
intmain()
{
intdata;
FILE*fp=fopen("in.txt","r");
if(!fp)
{
printf("can'topenfile ");
return-1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf(" ");
fclose(fp);
return0;
}
熱點內容
家有三相電如何配置音響設備 發布:2024-05-04 22:53:42 瀏覽:54
三星存儲器已幾乎滿 發布:2024-05-04 22:47:38 瀏覽:735
mf90pos機密碼是什麼 發布:2024-05-04 22:24:04 瀏覽:750
編譯預處理和函數區別 發布:2024-05-04 22:16:49 瀏覽:431
java復選框 發布:2024-05-04 22:13:24 瀏覽:529
安卓怎麼玩頁游 發布:2024-05-04 22:03:17 瀏覽:142
編譯器後面的代碼消失 發布:2024-05-04 22:02:11 瀏覽:61
openwrt編譯ipk 發布:2024-05-04 22:00:25 瀏覽:830
管理雲伺服器 發布:2024-05-04 21:36:31 瀏覽:553
給linux虛擬機傳文件 發布:2024-05-04 21:36:28 瀏覽:314