㈠ 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 );
}
(1)c读取文件所有内容扩展阅读
使用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>#include<stdlib.h>intmain(){FILE*file;char*data;intfileSize;//打开文件“D:a.txt”file=fopen("D:\a.txt","r");//获得文件大小fseek(file,0,SEEK_END);fileSize=ftell(file);fseek(file,0,SEEK_SET);//分配内存data=(char*)malloc(fileSize+1);//读取文件fread(data,sizeof(char),fileSize,file);data[fileSize]=0;//输出内容(你想对内容干什么都可以了)printf("%s",data);return0;}
㈢ c语言中读取txt文件内容
如果下面的代码是你的话,链表的长度返回1是正常的,因为你的链表项数据只有一个字符呀!
㈣ C语言用fscanf()函数如何读取文件全部内容
void read_txt(const char* Input, const char* Output){FILE *fin = fopen(Input, "rb");//以二进制读入FILE *fout = fopen(Output, "w");unsigned char ch1,ch2;while(fscanf(fin, "%c%c", &ch1,ch2) != EOF){//直到文件结束 fprintf(fout, "%d%d", ch1,ch2);//以10进制输出}}int main(){ read_txt("D:/IN.txt","D:/OUT.txt");//txt文件目录 return 0;}注:判断文件结束处的语句:fscanf(fin, "%c%c", &ch1,ch2)。其中两个%c之间不能加空格,否则读到的二进制文件会不完整,比源文件少好多个字节
㈤ 如何用C语言循环读取文件内容
循环读取一个文件的内容。
这样做没有任何意义,不如把读取的内容保持在变量当中,节省空间时间。如果非要反复读取的话可以使用rewind函数把文件指针重置。
函数名: rewind()功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);
循环读取多个文件的内容。
把多个文件名存在一个字符串数组当中。使用循环语句反复打开-读取-关闭即可。
例如:
char*s[3]={"文件一","文件二","文件三"};for(i=0;i<3;i++){f=fopen(s[i]);//打开第i个文件//读取数据fclose(f);//关闭文件}
㈥ c语言中如何读取文本文件中每一行的数据
用fstream(文件流),fstream file然后 file.getline(char*,int,char a=‘\n’)第一个是一个存储字符串的指针,第二个是要读内取的最容大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~
㈦ C语言如何读取TXT全部字符
你可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:char ch;while((ch= fgetc(fp)) != EOF)这样当读取到文件结尾时,while循环就会终止。
㈧ c语言读取文本文件
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。2、例程:
#include<stdio.h>inta;charb,c[100];intmain(){FILE*fp1=fopen("input.txt","r");//打开输入文件FILE*fp2=fopen("output.txt","w");//打开输出文件if(fp1==NULL||fp2==NULL){//若打开文件失败则退出puts("不能打开文件!");rturn0;}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);//关闭输出文件,相当于保存return0;}
㈨ C语言中读取txt文件内容
楼主朋友,你的程序中的问题出在分配空间不足上。比如当你想让a[j]指向某段内存时,用的是 a[j]=(char *)malloc(sizeof(char)); 而到了后面你是要在这段内存中存入一个字符串的,所以就发生了越界。下面是我根据你的代码片段写的一个测试程序,经过修改应该没问题了。#include <stdio.h>#include <stdlib.h>int main (void){ char path[]="12345.txt"; FILE *create; if((create=fopen(path,"r"))!=NULL) { int j; char **a; a=(char **)malloc(100*sizeof(char*)); //此处如果只申请一个char *大小的空间时, //你以后的a[j]往哪里放?此处的100是假设你的文件中有100行信息。如果超过100还得多分配 for (j=0;;j++) { a[j]=(char *)malloc(10000*sizeof(char)); //此处只申请一个字符的空间,后面读取 //长度为10000的字符串就没地方存放了 fgets(a[j],10000,create); printf("%s",a[j]); //测试读取是否成功,将文件中信息显示到屏幕上 if(feof(create)!=0) { for(;j=0;j–) free(a[j]); break; } } free(a); } else printf("Fail to open the file.\n"); fclose(create); printf("\n");}
㈩ C读取文件
下面是一个完整的实例, 楼主参考:#include <stdio.h>#include <stdlib.h>int main(){ char *pchBuf = NULL; int nLen = 0; FILE *pF = fopen(__FILE__, "r"); //打开文件 fseek(pF, 0, SEEK_END); //文件指针移到文件尾 nLen = ftell(pF); //得到当前指针位置, 即是文件的长度 rewind(pF); //文件指针恢复到文件头位置 //动态申请空间, 为保存字符串结尾标志\0, 多申请一个字符的空间 pchBuf = (char*) malloc(sizeof(char)*nLen+1); if(!pchBuf) { perror("内存不够!\n"); exit(0); } //读取文件内容//读取的长度和源文件长度有可能有出入,这里自动调整 nLen nLen = fread(pchBuf, sizeof(char), nLen, pF); pchBuf[nLen] = '\0'; //添加字符串结尾标志 printf("%s\n", pchBuf); //把读取的内容输出到屏幕看看 fclose(pF); //关闭文件 free(pchBuf); //释放空间 return 0;}
未经允许不得转载:山九号 » c读取文件所有内容|c语言中如何读取文本文件中每一行的数据