【C语言】文件的操作与文件函数的使用(详细讲解)

这篇具有很好参考价值的文章主要介绍了【C语言】文件的操作与文件函数的使用(详细讲解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:我们在学习C语言的时候会发现在编写一个程序的时候,数据是存在内存当中的,而当我们退出这个程序的时候会发现这个数据不复存在了,因此我们可以通过文件把数据记录下来,使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化。

💖 博主CSDN主页:卫卫卫的个人主页 💞
👉 专栏分类:C程序设计谭浩强版本 👈
💯代码仓库:卫卫周大胖的学习日记💫
💪关注博主和博主一起学习!一起努力!
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++



什么是文件

磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

程序文件

包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。

数据文件

文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。

文件名

一个文件要有一个唯一的文件标识,以便用户识别和引用。
文件名包含3部分:文件路径+文件名主干+文件后缀
例如: 【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

为了方便起见,文件标识常被称为文件名。

文件的打开和关闭

文件指针

缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。
每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是有系统声明的,取名FILE
每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,使用者不必关心细节。
一般都是通过一个FILE的指针来维护这个FILE结构的变量,这样使用起来更加方便。

下面我们一起来创建一个文件指针变量:

FILE* pf;//文件指针变量

定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找到与它关联的文件。如下图所示:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++
代码实例:

int main()
{
	FILE* pf = fopen("text.txt", "w");//打开一个文件,以写的形式
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	//写文件
	char ch = 0;
	fputc('a', pf);//写入字符a到文件中
	fclose(pf);
	pf = NULL;
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

我们注意此时的光标是指向的字符a,也就是文件指针是指向了a的位置,且随着你追加的字符,文件指针的位置也会随着改变。


文件的打开和关闭

  • 文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。

  • 在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。

  • ANSIC 规定使用fopen函数来打开文件,fclose来关闭文件。

文件的打开(fopen函数)

fopen函数用来打开一个文件,具体如何使用我们看下图:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

具体代码演示:

//以写的形式打开一个名称为:test的文本
FILE* pf = fopen("test.txt", "w");

文件的关闭(fclose函数)

fclose函数,用来关闭打开的文件。具体用法如下【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

具体代码演示:

FILE* pf = fopen("test.txt", "w");
fclose(pf);//关闭打开的文件

关于文件的使用方式

文件使用方式 含义 如果指定文件不存在
“r”(只读) 为了输入数据,打开一个已经存在的文本文件 为了输入数据,打开一个已经存在的文本文件
“w”(只写) 为了输出数据,打开一个文本文件 建立一个新的文件
“a”(追加) 向文本文件尾添加数据 建立一个新的文件
“rb”(只读) 为了输入数据,打开一个二进制文件 出错
“wb”(只写) 为了输出数据,打开一个二进制文件 建立一个新的文件
“ab”(追加) 向一个二进制文件尾添加数据 出错
“r+”(读写) 为了读和写,打开一个文本文件 出错
“w+”(读写) 为了读和写,建立一个文本文件 建立一个新的文件
“a+”(读写) 打开一个文件,在文件尾进行读写 建立一个新的文件
“rb+”(读写) 为了读和写打开一个二进制文件 出错
“wb+”(读写)) 为了读和写,新建一个新的二进制文件 建立一个新的文件
“ab+”(读写) 打开一个二进制文件,在文件尾进行读和写 建立一个新文件

实例代码演示:

int main()
{
    //打开文件
    FILE* pFile = fopen("myfile.txt", "w");
    //文件操作
    if (pFile != NULL)//判断文件是否打开失败,fopen函数打开失败会返回NULL
    {
        fputs("fopen example", pFile);//写入信息(输出流)
        //关闭文件
        fclose(pFile);//关闭文件
        pFile = NULL;//置为空指针,防止野指针
    }
    return 0;
}

运行结果:
注:在你对应的程序的文件夹下面会生成此文件,并如下图所示
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


文件的顺序读写

功能 函数名 适用于
字符输入函数 fgetc 所有输入流
字符输出函数 fputc 所有输出流
文本行输入函数 fgets 所有输入流
文本行输出函数 fputs 所有输出流
格式化输入函数 fscanf 所有输入流
格式化输出函数 fprintf 所有输出流
二进制输入 fread 文件
二进制输出 fwrite 文件

什么是输入流和输出流、标准错误流?

  1. 输出流(stdout):简单的理解就是你把你C语言所写的程序,传递给了某个文件就是输出流。如下图:
    【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

  2. 输入流(stdin):你用这C语言程序读取文件,就是输入流,如上图所示。

  3. 标准错误流(stderr)

文件函数的用法

fgetc函数

fgetc字符输入函数,可以通俗的理解从文件中读取字符信息
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

来看代码实例演示:
我们先创建一个text的文本,在里面放入如下图所示的信息:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++
我们来编写一个程序来读取该文本中的信息

int main()
{
	FILE* pf = fopen("text.txt", "r");
	if (pf == NULL)//判断是打开文件失败
	{
		perror("fopen");
		return 1;
	}
	//读文件
	int ch = fgetc(pf);//将读取到的字符保存在ch中
	printf("%c ", ch);//打印读取的字符
	ch = fgetc(pf);
	printf("%c ", ch);
	ch = fgetc(pf);
	printf("%c ", ch);
	ch = fgetc(pf);
	printf("%c ", ch);
	ch = fgetc(pf);
	printf("%c ", ch);
	fclose(pf);
	pf = NULL;
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fputc函数

fputc字符输出函数,可以通俗的理解成在C语言程序输出字符到文件中去。【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

//读写文件
int main()
{
	FILE* pf = fopen("weiwei.txt", "w");//以写的形式打开文件
	if (pf == NULL)//判断打开是否成共
	{
		perror("fopen");//找出错误原因
		return 1;
	}
	//写文件
	char ch = 0;
	for (ch = 'a'; ch <= 'z'; ch++)
	{
		if (ch % 5 == 0)
		{
			fputc('\n', pf);//每个五的倍数的ASCII值换行一次
		}
		fputc(ch, pf);//把ch中的字符写入文件指针pf中
	}
	fclose(pf);//关闭文件
	pf = NULL;
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fgets函数

fgetc函数文本行输出函数,通俗的理解从文件中读取行数据【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
    char mystring[100] = { 0 };//创建一个字符数组用来存放读取的数据
    FILE* pFile = fopen("myfile.txt", "r");//以读的形式打开文件
    if (pFile == NULL) //判断是否打开成功
        perror("Error opening file");
    else 
    {
        if (fgets(mystring, 20, pFile) != NULL)//读取20个字符数据(20个字节,一个汉字是两个字节)
            puts(mystring);//输出字符数组
        fclose(pFile);//关闭文件
        pFile = NULL;//置为空指针
    }
    return 0;
}

文本中的数据:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fputs函数

fputc函数,可以通俗的理解成将数组中的字符串写入文件中。
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
	char sentence[256] = { 0 };
	printf("请追加一个句子: ");
	fgets(sentence, 256, stdin);//将输入流中(即文件中)数据放在字符数组中
	FILE* pFile = fopen("zhouzhou.txt", "a");
	fputs(sentence, pFile);//将字符数组中的数据写入文件当中
	fclose(pFile);
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fscanf函数

fscanf函数,可以通俗的理解成以格式化的形式读取文件中的数据【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码示例演示:

int main()
{
	char str[80];
	float f;
	FILE* pFile = fopen("mywei.txt", "w+");//以读和写的形式打开一个文件
	fprintf(pFile, "%f %s", 3.1416, "PI");//把该数据格式化写入到文件中去
	rewind(pFile);//将指针初始化
	fscanf(pFile, "%f", &f);//格式化读取文件中的数据
	fscanf(pFile, "%s", str);//同理
	fclose(pFile);//关闭文件
	pFile = NULL;
	printf("I have read: %f and %s \n", f, str);
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fprintf函数

fprintf函数,可以通俗的理解成从C语言程序中格式化的写入数据到文件去。
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
    int n;
    char name[100];
    FILE* pFile = fopen("myfile.txt", "w");
    for (n = 0; n < 3; n++)
    {
        puts("please, enter a name: ");
        gets(name);//读取字符
        fprintf(pFile, "Name %d [%-10.10s]\n", n + 1, name);//格式化写入数据到文件中
    }
    fclose(pFile);
    return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fread函数

fread函数,可以通俗的理解成用二进制的形式读取文件
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
	int arr[10] = { 1222,1222,33,19,5,6,7,8,9,10 };
	//int arr[10] = {0};
	FILE* pf = fopen("wwwagou.bin", "wb");//读写
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	//二进制的写文件
	fwrite(arr, sizeof(arr[0]), sizeof(arr) / sizeof(arr[0]), pf);
	//二进制的读文件
	fread(arr, sizeof(arr[0]), sizeof(arr) / sizeof(arr[0]), pf);
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}
	fclose(pf);
	pf = NULL;
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fwrite函数

fwrite函数,可以通俗的理解成用二进制的形式写入数据到文件中。
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
	char buffer[] = { 'x' , 'y' , 'z' };
	FILE* pFile = fopen("myfile.bin", "wb");//以二进制的形式写入
	fwrite(buffer, sizeof(char), sizeof(buffer), pFile);//写入数据
	fclose(pFile);
	return 0;
}

运行结果:
在记事本中打开会发现我们可以看懂这个代码
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++
假若修改一下:

int main()
{
	int buffer[] = {1,2,3};
	FILE* pFile = fopen("myfile.bin", "wb");//以二进制的形式写入
	fwrite(buffer, sizeof(int), sizeof(buffer), pFile);//写入数据
	fclose(pFile);
	return 0;
}

我们此时会发现在记事本中是一串乱码,因此我们要在Vscode中去读取
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


fseek函数

feek函数,可以理解成根据文件指针的位置和偏移量来定位文件指针,也就是随机在哪里读写数据。
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示

int main()
{
	FILE* pFile = fopen("example.txt", "wb");
	if (pFile == NULL)
	{
		perror("fopen");
		return 1;
	}
	fputs("This is an apple.", pFile);//写入数据到文件中
	fseek(pFile, 9, SEEK_SET);//调整光标(指针为起始位置往后第九个的位置)
	fputs(" sam", pFile);//从光标(指针指向第九个字符的位置)追加新的数据
	fclose(pFile);//关闭文件
	pFile = NULL;
	return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


ftell函数

ftell函数,通俗的讲就是返回当前位置的光标距离起始位置的距离的值【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
    long size;
    FILE* pFile = fopen("myfile.txt", "rb");//读写一个二进制文件
    if (pFile == NULL) 
        perror("Error opening file");
    else
    {
        fseek(pFile, 0, SEEK_END);   // non-portable
        size = ftell(pFile);//计算举例起始位置的距离
        fclose(pFile);
        printf("Size of myfile.txt: %1d bytes.\n", size);
    }
    return 0;
}

文件中原本的样子:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++
运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


rewind函数

rewind函数,让文件指针的位置回到文件的起始位置
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
    int n;
    FILE* pFile;
    char buffer[27];
    pFile = fopen("myfile1.txt", "w+");
    for (n = 'A'; n <= 'Z'; n++)
        fputc(n, pFile);//将数据写入文件
    rewind(pFile);//回到起始位置
    fread(buffer, 1, 26, pFile);//读取
    fclose(pFile);
    buffer[26] = '\0';
    puts(buffer);//输出数据
    return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


feof函数

feof函数,在文件读取结束后,用来判断文件是否遇到文件末尾而结束
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
    FILE* pFile;
    int n = 0;
    pFile = fopen("myfile.txt", "rb");//读写的形式打开文件
    if (pFile == NULL) 
        perror("Error opening file");
    else
    {
        while (fgetc(pFile) != EOF)//读取里面的数据 
        {
            ++n;//判断有几个bytes
        }
        if (feof(pFile))//判断是否正常结束
        {
            puts("End-of-File reached.");//正常结束
            printf("Total number of bytes read: %d\n", n);//计算总字节数
        }
        else 
            puts("End-of-File was not reached.");
        fclose(pFile);
    }
    return 0;
}

记事本中的数据:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++
运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


ferror函数

ferror函数,用来判断在文件读取结束后,用来判断文件是否因为读取过程当中遇到错误而结束!
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++

代码实例演示:

int main()
{
    FILE* pFile;
    pFile = fopen("myfile.txt", "r");
    if (pFile == NULL) 
        perror("Error opening file");
    else 
    {
        fputc('x', pFile);//写入数据
        if (ferror(pFile))//判断在读取的过程中的错误
            printf("Error Writing to myfile.txt\n");
            perror("pFile");//判断错误原因
        fclose(pFile);//因为是以读的形式,所以失败
    }
    return 0;
}

运行结果:
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


文本文件和二进制文件

  • 根据数据的组织形式,数据文件被称为文本文件或者二进制文件。
  • 数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。
  • 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的文件就是文本文件。
  • 一个数据在内存中是怎么存储的呢?
    字符一律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以使用二进制形式存储。
  • 如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘中占用5个字节(每个字符一个字节),而二进制形式输出,则在磁盘上只占4个字节(VS2013测试)。

文件缓冲区

ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定的。因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。如果不做,可能导致读写文件的问题。
【C语言】文件的操作与文件函数的使用(详细讲解),c语言,开发语言,c++


结语:今天的内容就到这里吧,谢谢各位的观看,如果有讲的不好的地方也请各位多多指出,作者每一条评论都会读的,谢谢各位。文章来源地址https://www.toymoban.com/news/detail-715603.html


🫵🫵🫵 祝各位接下来好运连连 💞

到了这里,关于【C语言】文件的操作与文件函数的使用(详细讲解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】指针的基本知识详细讲解(指针数组、数组指针、函数指针....

    接着上次的函数的基本知识,今天我们来讲一讲🔍指针 目录 一、指针的概念 二、指针变量 三、野指针 四、字符指针 五、指针与数组 六、指针数组 七、数组指针  八、指针与函数 总结 一、指针的概念 1.1、变量和地址 所谓指针,也就是内存的地址;所谓指针变量,也就是

    2023年04月08日
    浏览(38)
  • 初始C语言——详细讲解操作符以及操作符的易错点

     第一章 “C“浒传——初识C语言(更适合初学者体质哦!)  第二章 详细认识分支语句和循环语句以及他们的易错点   第三章 初阶C语言——特别详细地介绍函数  第四章 初始C语言——详细地讲解数组的内容以及易错点  第五章  初始C语言——详细讲解操作符以及操

    2024年02月13日
    浏览(55)
  • web安全-文件上传漏洞-图片马制作-相关php函数讲解-upload靶场通关详细教学(3)

    制作图片马有两种方法,一种是文本方式打开,末尾粘贴一句话木马,令一种是使用命令进行合成。 方法1 首先准备好一个图片(这里是1.png)。 将一个图片以文本格式打开(这里用的Notepad++,以记事本方式打开修改也能连接成功,不过修改后图片无法正常显示了)。 后面粘

    2024年02月06日
    浏览(55)
  • C语言-> 文件操作(函数满屏)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青_C语言,数据结构,函数-CSDN博客 目的:学习文件操作,即文件相关函数的学习 在这里首先放置我个人认为好的学习c语言的网站 : cplusplus.com: https://legacy.cplusplus.com/referen

    2024年02月04日
    浏览(34)
  • C语言中的文件操作函数

    首先学习文件指针的相关知识 在C语言中,文件指针是一个指向文件的指针变量,用于定位和操作文件。在C语言中文件指针类型 FILE* 习惯性定义文件指针为 FILE* fp; 文件操作函数在stdio.h的头文件中。所以要进行 顾名思义,这个函数的意思就是打开文件。 函数原型 FILE* fop

    2024年02月03日
    浏览(29)
  • 文件详细操作过程(C语言)

    🌞🌞🌞 千淘万漉虽辛苦 🌞🌞🌞 🌞🌞🌞 吹尽狂沙始到金 🌞🌞🌞 所谓“文件”一般指:存储在外部存储介质上数据的集合。操作系统是以文件为单位对数据进行管理的,如我们用word写的一篇文章、用C语言编的一个程序要保存在磁盘上都有必须以文件的形式,并且给相应

    2024年02月06日
    浏览(32)
  • C语言文件操作(超详细)

    🍕博客主页:️自信不孤单 🍬文章专栏:C语言 🍚代码仓库:破浪晓梦 🍭欢迎关注:欢迎大家点赞收藏+关注 本文主要介绍C语言中文件操作的相关内容(例:文件读、写等相关函数)。 文件是以计算机硬盘为载体存储在计算机上的信息集合。是数据源的一种,最主要的作用

    2023年04月12日
    浏览(35)
  • C语言库函数之 qsort 讲解、使用及模拟实现

    我们在学习排序的时候,第一个接触到的应该都是冒泡排序,我们先来复习一下冒泡排序的代码,来作为一个铺垫和引入。 代码如下: 很简单的一种排序方法,但我们可以发现一个问题,那就是冒泡排序不够通用,它只能用于整型数组的排序,如果我要排序float类型,或者排

    2024年02月12日
    浏览(37)
  • 【C语言】指针的进阶(二)—— 回调函数的讲解以及qsort函数的使用方式

    目录 1、函数指针数组 1.1、函数指针数组是什么?  1.2、函数指针数组的用途:转移表 2、扩展:指向函数指针的数组的指针 3、回调函数 3.1、回调函数介绍  3.2、回调函数的案例:qsort函数 3.2.1、回顾冒泡排序  3.2.1、什么是qsort函数? 函数指针数组 是什么?首先主语是 数

    2024年02月07日
    浏览(43)
  • C语言——文件操作(超全超详细)

    磁盘上的文件是文件 但是在程序设计中,我们一般谈的文件有两种: 程序文件、数据文件 (从文件功能的角度来分类的) 1.1 程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(Windows环境后缀为.exe) 1.2 数据文件 文件的内容不一定是程

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包