Ⅰ c語言在TXT文件中如何讀取任意行/個數據
使用fread函數
C 標准庫 - <stdio.h>
描述
C 庫函數size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)從給定流stream讀取數據到ptr所指向的數組中。
聲明
下面是 fread() 函數的聲明。
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
參數
ptr-- 這是指向帶有最小尺寸size*nmemb位元組的內存塊的指針。
size-- 這是要讀取的每個元素的大小,以位元組為單位。
nmemb-- 這是元素的個數,每個元素的大小為 size 位元組。
stream-- 這是指向 FILE 對象的指針,該 FILE 對象指定了一個輸入流。
返回值
成功讀取的元素總數會以 size_t 對象返回,size_t 對象是一個整型數據類型。如果總數與 nmemb 參數不同,則可能發生了一個錯誤或者到達了文件末尾。
Ⅱ 怎樣用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文件中指定的數據
//其中的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內容到數組
#include<stdio.h>
#include<stdlib.h>
#define N 10000
int main()
{
FILE *fp;
if((fp=fopen("D:\123.txt","r"))==NULL)//判斷文件是否打開成功
{//讀取D盤下,名為123的文本文件
printf("文件打開失敗 ");
exit(0);
}
else
printf("文件打開成功 ");
double a[N];
for(int i=0;i<5;i++)//讀取五個浮點型數據
fscanf(fp,"%lf,",&a[i]);//fscanf函數固定格式讀取文本中的數據;
for(int i=0;i<5;i++)
printf("%.6lf, ",a[i]);
fclose(fp);
}
Ⅳ 如何使用C語言從TXT文件中讀取如下格式的數據並存儲與數組中
1.fopen函數打開需要讀取的文本,獲取該文件的文件描述符
2.使用fscan()函數對文件進行讀取。
3.放到二維數組其實就是讀取相應格式的數據,然後對應二維數組的每個位置
例如
#include"stdio.h"
#defineM300
#defineN50
voidmain()
{
inti,j;
floata[M][N]={0};
FILE*fp;
if((fp=fopen("test.txt","rt"))==NULL)
{
printf("cannotopenfile ");
return;
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
fscanf(fp,"%f",&a[i][j]);
fscanf(fp," ");
}
fclose(fp);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%g",a[i][j]);
printf(" ");
}
}
Ⅵ 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文件中讀取數據:
//main.c文件
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10][10]={0},i,j,h,l,v;
FILE *inf;
inf=fopen("data.txt","r");
while(!feof(inf))
{
fscanf(inf,"%d %d %d",&h,&l,&v);
fgetc(inf);
a[h][l]=v;
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(0!=a[i][j])
{
printf("%d %d %d\n",i,j,a[i][j]);
}
}
}
fclose(inf);
system("PAUSE");
return EXIT_SUCCESS;
}
//data.txt文件
4 6 89
6 8 105
Ⅷ C語言讀取Excel或txt文件中的多類型數據
C語言可以通過兩種方法讀取CVS或TEXT中的多列數據的某一列
一是用scanf,像你的數據可以定義兩個變數,第一個是double
x,第二個為char
s[20];
當然,你可以用結構體,讀文件用
fscanf("%lf%s",&x,s);
//這樣就可以將第一列讀入x,第二列讀入s
另一方法,是直讀入一行,然後將它分隔到各列中,而分隔方法就多了,可以用sscanf,也可以用strtok,也可以自己寫程序逐個字元處理
Ⅸ 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 );
}
(9)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] = '