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函数关闭文件。
c语言怎么提取文本文件中我想要的一些信息?
使用文件操作函数fscanf即可提取文本当中特定的信息。例如要提取一个整数,可以用fscanf(fp,”%d”,n);要提取一个字符串可以用fscanf(fp,”%s”,s),其中fp为文件指针。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#includestdio.h
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen(“input.txt”, “r”);//打开输入文件
FILE * fp2 = fopen(“output.txt”, “w”);//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts(“不能打开文件!”);
return 0;
}
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);//关闭输出文件,相当于保存
return 0;
}
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\n” );
else
printf( “The file ‘data’ was opened\n” );
/* Open for write */
if( (stream2 = fopen( “data2”, “w+” )) == NULL )
printf( “The file ‘data2’ was not opened\n” );
else
printf( “The file ‘data2’ was opened\n” );
/* Close stream */
if(fclose( stream2 ))
printf( “The file ‘data2’ was not closed\n” );
/* All other files are closed: */
numclosed = _fcloseall( );
printf( “Number of files closed by _fcloseall: %u\n”, numclosed );
}
扩展资料
使用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] = ‘\0’;
printf( “%s\n”, buffer );
fclose( stream );
}
C语言读取文件内容的程序
感觉你贴出来的代码跟题目要求差距有点大啊
代码(ps:这里输入的文件名就是一个相对路径,所以给定的测试文本要放在本程序同目录下):
#include stdio.h
#include stdlib.h
void main()
{
FILE *fp;
char filename[30],temp[1024];
int count,i,flag=1;
printf(“请输入文件名:”);
gets(filename);
if((fp=fopen(filename,”r”))==NULL) //文件不存在
{
printf(“File Name Error\n”);
exit(0);
}
else //文件存在
{
printf(“请选择行数:”);
scanf(“%d”,count);
for(i=1;i=count;i++)
{
if(fgets(temp,1024,fp)==NULL) //不存在第count行
{
flag=0;
break;
}
}
if(flag==0)
printf(“Line No Error\n”);
else
printf(“第%d行是:%s”,count,temp); //打印第count行
}
fclose(fp);
}
测试文本内容:
程序运行效果:
C语言如何读取文件?
C语言读取文件的具体步骤如下:
我们需要准备的材料分别是:电脑、C语言。
1、首先我们打开需要读取的文件,点击打开左上角文件中的“另存为”。
2、然后我们在弹出来的窗口中点击打开保存类型。
3、然后我们在弹出来的窗口中点击选择“C source file(*.c)”,之后点击保存即可在C语言中读取出来了。
C语言读取文件数据
先用getline或fgets读取数据到一个字符串中,这个串定义的长一点,保证够用就行,如:
char
str[1024];
fgets(
str
,
sizeof(str),
fp
);
//fp为你打开的文件指针
然后调用for循环去读取串的的数据,假设你的分隔符是空格,遍历str,遇到空格就得到一个数据,然后继续遍历,直到str尾。
然后再去fgets数据,再遍历,即可得到所有的数据。