当前位置:首页 » 编程语言 » c语言中读取文件

c语言中读取文件

发布时间: 2022-07-10 06:12:53

c语言中文件的读写实际过程

RB和R本质上是二进制数据流,但用于文本的二进制数据的含义是ASCII或其他内部代码。R/W和Rb/WB之间的一个重要区别是,R/W的文本换行格式在不同的系统上是不同的(DOS/windows下的回车字符Cr('\R')+换行字符LF('\n')、UNIX/Linux下的LF和MAC下的Cr),这导致文件操作的细节不同(例如,通过fput和fprintf处理字符串的结尾)。
具体的读写实现由库函数处理,WB/RB模式一般采用缓冲区读写,最终实现对外部内存文件或其他输入/输出流的抽象(包括在内存中建立缓冲区)。在此基础上,w/R模式处理了上述一些差异。通常,缓冲区的操作取决于库函数的实现。用户无法看到库函数,因为它是不必要的(无法保证不同平台的实现是一致的)。
对于标准输入设备,如键盘,它被抽象为标准输入流stdin。除了抽象过程本身(由底层系统实现)外,实现方法与从外部存储文件读取之间没有本质区别。

⑵ C语言如何读取文件

C语言读取文件的具体步骤如下:

我们需要准备的材料分别是:电脑、C语言。

1、首先我们打开需要读取的文件,点击打开左上角文件中的“另存为”。

⑶ c语言如何读取文件并输出

c语言读取文件并输出的代码如下:

#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("不能打开文件!");

return0;

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语言中使用fopen()函数实现文件的读取,使用fgetc()函数读取文件中的字符,使用fclose()实现文件的关闭,注意:打开文件流必须要关闭文件流,不然会持续占用计算机内存资源。



(3)c语言中读取文件扩展阅读:

fopen函数

C语言中fopen函数可以两个参数,fopen(const char *filename, const char *mode)。

第一个参数filename:这是 C 字符串,包含了要打开的文件名称。

第二个参数mode:这是 C 字符串,包含了文件访问模式。

⑷ C语言读取文件数据

先用getline或fgets读取数据到一个字符串中,这个串定义的长一点,保证够用就行,如:
char
str[1024];
fgets(
str
,
sizeof(str),
fp
);
//fp为你打开的文件指针
然后调用for循环去读取串的的数据,假设你的分隔符是空格,遍历str,遇到空格就得到一个数据,然后继续遍历,直到str尾。
然后再去fgets数据,再遍历,即可得到所有的数据。

⑸ C语言如何读取文件

文件流指针应打文件,要同操作两文件,所要用两文件流指针
,像要同操作两箱.
程序理解:
两箱,fp1,fp2;
打箱fp1,fp2,拿1024东西看,同放第二箱fp2,至箱东西完全拿,关闭两箱.
例都差,看看stdlibf函数,C文件操作:
FILL
*pf;
//声明指针,指针数组
FILE
pf[2]

FILE
**pf;
pf
=fopen();
fread()
or
fwrite()
...
...
//操作文件
fclose(pf)
//关闭文件

⑹ 怎么用C语言读取文件

#include
"stdio.h"
int
main()
{
FILE
*pf=NULL; //文件指针
int
filelen=0;
int
i=0;
char
*buf;
pf=fopen("D:\\test.txt","r"); //以只读方式打开文件
if(pf==NULL)
{
return
0;
}
else
{
//获得文件长度
fseek(pf,0,SEEK_END); //文件指针移到末尾
filelen=ftell(pf); //获得文件当前指针位置,即为文件长度
rewind(pf); //将文件指针移到开头,准备读取
buf=malloc(filelen+1); //新建缓冲区,存储独处的数据
//将缓冲区的数据设置为0
for(i=0;i<filelen+1;i++)
buf[i]=0;

//读取文件
fread(buf,filelen,1,pf);
//关闭文件
fclose(pf);
//buf中即为要读出的数据
printf("%s\n",buf);
//输出一下数据,你可以随便怎么用
free(buf);
//最后记得要释放
}
return
1;
}

⑺ C语言 如何一行行读文件

C语言中,使用fgets函数遍可以一行行读取文件。
1、fgets函数:
原型:char
*
fgets(char
*
buf,
int
bufsize,
FILE
*
stream);
功能:从文件结构体指针stream中读取数据,每次读取一行。
说明:读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋值为\0)。如果该行不足bufsize个字符,则读完该行就结束,如果该行超过bufsize-1个字符,则fgets只返回一个不完整的行,buf缓冲区以\0字符结束,下一次fgets调用会继续读取该行剩余的字符;
头文件:stdio.h;
返回值:若读入成功,返回与参数buf相同的字符指针,若读入过程中遇到EOF或发生错误,返回NULL指针。所以当遇到返回值为NULL的情况时,应使用ferror或feof函数检查是发生错误还是遇到EOF。
2、例程:
#include
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("不能打开文件!");
rturn 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 " );

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 );

}

(8)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语言中如何实现读取计算机中的文件

c不是有个OPENFILENAME么,那个就是打开文件对话框啊……
比如指定个变量fpath存放选中文件的路径,然后fopen(fpath,)就可以了……
OPENFILENAME例子神马的自行度娘吧

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726