Ⅰ 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] = '