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

//其中的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文件的讀取和寫入

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

③ 用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文件中指定的數據

//其中的in.txt就是你要讀取數據的文件,當然把它和程序放在同一回目錄答
-------------------------------------
#include
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文件的字元

運算符優先順序的問題:
while((c=fgetc(p)!=EOF))
被解釋成:
while(c=(fgetc(p)!=EOF)),
c被賦值為(fgetc(p)!=EOF)這個邏輯值了,所以不管文本里的內容是什麼,都會在文件指針未指向文件結尾時列印ASCII碼為1的字元(因為fgetc(p)!=EOF為真),也就是那個笑臉,到文件結尾時fgetc(p)!=EOF為假
c
=
0才退出循環。改動很簡單,加個括弧防止fgetc(p)先和!=EOF結合就行了:while((c=fgetc(p))!=EOF)

⑥ 用c語言創建一個txt文件,並且寫入數據

#include <stdio.h>

int main()

{

//下面是寫數據,將數字0~9寫入到data.txt文件中

FILE *fpWrite=fopen("data.txt","w");

if(fpWrite==NULL)

{
return 0;

}

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

fprintf(fpWrite,"%d ",i);

fclose(fpWrite);

//下面是讀數據,將讀到的數據存到數組a[10]中,並且列印到控制台上

int a[10]={0};

FILE *fpRead=fopen("data.txt","r");

if(fpRead==NULL)

{
return 0;

}

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

{

fscanf(fpRead,"%d ",&a[i]);

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

}

getchar();//等待


return 1;

}


(6)c語言txt文件讀取擴展閱讀:

c語言最常用的文件使用方式及其含義
1、"r".為讀而打開文本文件.(不存在則出錯)

2、"rb".為讀而打開二進制文件.

3、"w".為寫而打開文本文件.(若不存在則新建,反之,則從文件起始位置寫,原內容將被覆蓋)

4、"wb".為寫而打開二進制文件.

5、"a".為在文件後面添加數據而打開文本文件.(若不存在,則新建;反之,在原文件後追加)

6、"ab".為在文件後面添加數據而打開一個二進制文件.

7、"r+".為讀和寫而打開文本文件.(讀時,從頭開始;在寫數據時,新數據只覆蓋所佔的空間,其後不變)

8、"rb+".為讀和寫而打開二進制文件.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.

9、"w+".首先建立一個新文件,進行寫操作,隨後可以從頭開始讀.(若文件存在,原內容將全部消失)

10、"wb+".功能與"w+"同.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.

11、"a+".功能與"a"相同;只是在文件尾部添加新的數據後,可以從頭開始讀.

12、"ab+".功能與"a+"相同;只是在文件尾部添加新數據之後,可以由位置函數設置開始讀的起始位置.

參考鏈接來源:網路-C語言

⑦ 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語言中文本文件的逐行讀取的實現

char *fgets(char *buf, int bufsize, FILE *stream);

成功,則返回第一個參數buf;否則返回NULL

例子:

#include<stdio.h>

#include<stdlib.h>

#include<unistd.h>

#include<malloc.h>

#define FILE_PATH "/home/tmp/test/test.txt"

#define BUFF_LEN 256

int main()

{

FILE *fp = NULL;

char *file = FILE_PATH;

char *line = (char *)malloc(BUFF_LEN * sizeof(char));//和C++不同的是,事先要申請空間,否則報段錯誤

if( (0 != access(file,R_OK|F_OK)) || (NULL==(fp=fopen(file,"r"))) )

{

printf("open %s failed ",file);

return -1;

}

while( fgets(line, BUFF_LEN, fp) != NULL )//逐行讀取數據

{

printf("the content of each line is: %s",line);

}

if(fp!=NULL)

{

fclose(fp);

}

return 0;

}

(8)c語言txt文件讀取擴展閱讀

C++逐行讀取txt文件中的字元串

#include<stdio.h>

#include<string.h>

intmain()

{

charszTest[1000]={0};

intlen=0;

FILE*fp=fopen("1.txt","r");

if(NULL==fp)

{

printf("failedtoopendos.txt ");

return1;

}

while(!feof(fp))

{

memset(szTest,0,sizeof(szTest));

fgets(szTest,sizeof(szTest)-1,fp);//包含了換行符

printf("%s",szTest);

}

fclose(fp);

printf(" ");

return0;

}

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

#include <stdio.h>
int main()
{
FILE *fp=NULL;
int a[160];
int i=0;
fp=fopen("data.txt","r");
if ( !fp )
{
printf("open file error\n");
return -1;
}
while( !feof(fp) )
{
if ( fscanf( fp , "%d" ,&a[i] ) !=1 )
break ;
i++;
fgetc(fp) ;//過濾掉分隔符
}
fclose(fp);
//以下倒序輸出數據
printf("i=%d\n" , i );
while( --i >= 0 )
{
printf("%d," , a[i] );
if ( i %10 == 0 )
printf("\n") ;
}
return 0;
}

⑩ 如何用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函數關閉文件。