精华内容
下载资源
问答
  • 百度答客1: ...后缀名.o 就是object, 也就相当于windows下编译obj文件, 俗称目标文件,该文件是指源代码经过编译程序产生且能被cpu直接识别二进制代码。由编译器生成,具体的生成方法在不同开发

    ubuntu16.04实现

    百度答客1:

    是编译成功后的文件,以hello.c为例:
    先将源文件编译成目标zhi文件:

    gcc - c hello.c
    

    这样就生成hello.o文件,再将目标文件编译成可执行文件:

    gcc -o hello hello.o
    

    这样就生成了可执行文件,在./hello就可以运行hello了。

    百度答客2:

    后缀名.o 就是object, 也就相当于windows下编译的obj文件, 俗称目标文件,该文件是指源代码经过编译程序产生的且能被cpu直接识别二进制代码。由编译器生成,具体的生成方法在不同的开发环境上是不同的.

    百度百科说:后缀名.o文件是对象文件里面包含的内容就是0,1这样的机器可执行的执令,当你程序要执行时还需要进行链接(link).
    连接程序之后再将这个文件与系统库文件连接就生成可执行文件,也就是把多个.o文件连接成一个可执行文件了。

    展开全文
  • C语言 | 文件操作

    2020-12-18 17:15:31
    三、文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭四、文件的顺序读写五、文件的随机读写六、文件类型八、文件缓冲区 一、为什么使用文件? 内存掉电易失性存储介质,硬盘永久性存储介质。程序中生成的...


    一、为什么使用文件?

    内存是掉电易失性存储介质,硬盘是永久性存储介质。程序中生成的数据存放在内存中,当程序退出时,数据就不存在了,下次进入程序时又得重新录入。使用文件可以将数据存放在电脑的硬盘上,实现数据的持久化。

    二、文件是什么?

    在程序设计中,我们一般谈的文件包括两种:程序文件、数据文件。

    • 程序文件:包括源程序文件(后缀为.c),目标文件(后缀为.obj),可执行文件(后缀为.exe)
    • 数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行时需要从中读取数据的文件,或者输出内容的文件

    本博客文件操作讨论的是数据文件

    文件=文件内容+文件属性

    文件名:一个文件要有一个唯一的文件标识符(文件名),以便用户识别和引用。文件名包含3部分:文件路径+文件名主干+文件后缀

    三、文件的打开和关闭

    3.1 文件指针

    每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件名字,文件状态及文件的相关的位置等),这些信息保存在一个结构体中,该结构体类型是由系统声明的,取名FILE

    每当打开一个文件时,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息。一般都是通过一个FILE的指针来维护这个FILE结构的变量。

    • 创建一个FILE*的指针变量
    FILE* fp;//文件指针变量
    

    通过文件指针变量能够找到与它相关联的文件。

    3.2 文件的打开和关闭

    文件在读写之前应该先打开文件,在使用结束之后应该关闭文件
    ANSIC规定使用fopen函数来打开文件,使用fclose函数关闭文件。

    FILE * fopen(const char* filename,const char* mode);//参数:文件名,打开方式
    int fclose(FILE* stream);
    

    文件打开方式:

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

    例:

    #include<stdio.h>
    #include<windows.h>
    #pragma warning(disable:4996)
    int main(){
    	FILE* fp = fopen("E:\\vs_code\\File_Example\\text.txt", "w");
    	if (NULL == fp){
    		printf("fopen error!\n");
    		return 1;				//打开失败
    	}
    	for (char i = 'A'; i < 'Z'; i++){
    		fputc(i, fp);  //写入文件
    	}
    	fclose(fp);                //关闭文件  
    	system("pause");
    	return 0;
    }
    
    #include<stdio.h>
    #include<windows.h>
    #pragma warning(disable:4996)
    
    int main(){
    	FILE* fp = fopen("text.txt", "r");
    	if (NULL == fp){
    		printf("fopen error!\n");
    		return 1;				//打开失败
    	}
    	char c = 'A';
    	while ((c = fgetc(fp) )!= EOF){  //读文件
    		printf("%c ", c);  
    	}
    	printf("end of file!"); 
    	fclose(fp);//关闭文件  
    	system("pause");
    	return 0;
    }
    

    C程序在启动时,默认会打开三个文件(设备),分别叫做标准输入(键盘)、标准输出(显示器)、标准错误(显示器),对应的文件指针分别叫做stdin,stdout,stderr。

    例:

    //在显示器上打印Hello World!
    #include<stdio.h>
    #include<windows.h>
    #pragma warning(disable:4996)
    int main(){
    	fputs("Hello World!\n", stdout);  
    	system("pause");
    	return 0;
    }
    

    四、文件的顺序读写

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

    举例:

    • fgets()
    int main(){
    	FILE* fp = fopen("text.txt", "r");
    	if (NULL == fp){
    		printf("fopen error!\n");
    		return 1;				//打开失败
    	}
    	char *res = NULL;
    	char buffer[64];   //缓冲区
    	do{
    		res = fgets(buffer, sizeof(buffer), fp);
    		if (NULL == res){
    			break;
    		}
    		printf("%s", buffer);
    	} while (1);
    	printf("end of file!\n"); 
    	fclose(fp);//关闭文件  
    	system("pause");
    	return 0;
    }
    
    • fprintf()
    #include<stdio.h>
    #include<windows.h>
    #pragma warning(disable:4996)
    
    int main(){
    	FILE* fp = fopen("text.txt", "w");
    	if (NULL == fp){
    		printf("fopen error!\n");
    		return 1;				//打开失败
    	}
    	int a = 10;
    	const char *str = "hello bit";
    	double f = 3.14;
    	fprintf(fp, "%d|%s|%f\n", a, str, f);
    	fclose(fp);//关闭文件  
    	system("pause");
    	return 0;
    }
    
    • facanf()
    #include<stdio.h>
    #include<windows.h>
    #pragma warning(disable:4996)
    
    int main(){
    	FILE* fp = fopen("text.txt", "r");
    	if (NULL == fp){
    		printf("fopen error!\n");
    		return 1;				//打开失败
    	}
    	int a = 10;
    	char str[64];
    	int d = 20;
    	fscanf(fp, "%d %s %d", &a, &str, &d);
    	fclose(fp);//关闭文件  
    	system("pause");
    	return 0;
    }
    

    在这里插入图片描述

    五、文件的随机读写

    六、文件类型

    八、文件缓冲区

    展开全文
  • 1、什么是文件 在程序设计中,主要用到两种文件。(1)程序文件,包括源程序文件后缀为.c)、源文件编译生成的目标文件(.obj)、可执行文件(.exe)。(2)数据文件供程序运性时读写数据。 2、文件名 一...

    1、什么是文件

    在程序设计中,主要用到两种文件。(1)程序文件,包括源程序文件(后缀为.c)、源文件编译生成的目标文件(.obj)、可执行文件(.exe)。(2)数据文件,是供程序运性时读写的数据。

    2、文件名

    一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括三部分:(1)文件路径(2)文件名主干(3)文件名后缀。

    3、文件的分类

    根据数据的组织形式,数据文件可分为ASCII文件和二进制文件,数据在内存中是以二进制形式存储的,如果不加以转化的输出到外存,则就是二进制文件(也称为映像文件)。ASCII文件又称为文本文件,每一个字节放一个字符的ASCII代码。

    一个数据在磁盘上怎么存储呢?字符一律以ASCII形式存储(即一个字符占一个字节),数值型数据既可以用到ASCII形式存储,也可以用二进制形式存储。比如:整数10000,用ASCII形式存储,占用5个字节空间;用二进制形式存储则需要占用五个字节空间。

    用ASCII码形式输出(出内存)字节与字符一一对应,一个字节代表一个字符,便于对字符进行逐个处理,也便于输出字符。但一般占用存储空间较多,而且要花费转换时间(将内存中的二进制数据,转换为ASCII码形式,写入文件中)。当然用·二进制形式输出数值,可以节省磁盘空间和转换时间。如果程序运行中有中间数据需要保存在外介质上,以便在需要时在输入到内存中,一般用二进制文件比较方便。

    在事务管理中,常有大批数据存放在磁盘上,随时调入计算机进行查询或处理,然后又把修改过的信息在存回磁盘。这是也常用二进制文件。

    所以可以总结的说:当程序运行过程中需要快速对数据进行保存,以便随时处理数据(效率),这时常用二进制形式。

    4、文件缓冲区

    文件缓冲区(file buffer)系统自动滴在内存区为程序每一个正在使用的文件开辟一个文件缓冲区。就是说从内存向磁盘输出数据必须先送到内存中的文件缓冲区中去,当缓冲区装满后才一起送到磁盘去。一样的从磁盘向内存中输入数据时,数据先到文件缓冲区,充满后,在输入到程序内存中。

    5、文件类型指针

    每一个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(文件的名字,文件状态,文件当前位置等等),这些信息是保存在一个结构体变量中,该结构体由系统声明,取名为FILE。通俗的说:一个名为FILE的·结构体中,存放着文件的各种信息,所以为了对文件操作我们必须要创建一个指向该结构体的指针FILE *fp,才能用该文件的各种信息变量。

    6、打开与关闭文件

    fopen(文件名,使用文件方式)

    如fopen("a","r");指要打开名字为a的文件,只对文件进行读操作。该函数会返回一个文件类型指针。

    r是只读,打开一个已存在文本文件。rb为了读文件,打开一个已存在二进制文件。r+为了读和写打开一个已存在文本文件。如果该文件不存在,则会返回NULL(空指针)。

    w是只写,建立一个新文本文件。wb为了写文件,新建一个二进制文件。w+为了读和写建立一个新的文本文件。如果有指定文件,则删除此文件,并且建立新的文件。

    a追加,向已存在文本文件尾添加数据。ab向已存在二进制文件尾添加数据。a+为了读和写打开一个已存在文本文件。ab+为了读和写打开一个已存在二进制文件。如果该文件不存在,则会返回NULL(空指针)。

    fclose(fp),把fp指向的文件关闭,此后fp不再指向该文件。

    如果不关闭文件会丢失数据,因为当数据未充满缓冲区而程序结束运行,就有可能使缓冲区中的数据丢失。要用fclose关闭文件,先把缓冲区中的数据写到文件中,然后才撤销文件信息区。

    fclose也带回一个返回值,当成功执行了关闭操作,则返回值为0,否则返回文件结束符EOF(-1);

    7、怎样向文件读写字符

    fgetc(fp),从fp所指文件读入一个字符,fputc(ch,fp),把字符ch写到文件指针fp所指的文件中。若失败返回文件结束符EOF(-1);

    8、怎么向文件读写一个字符串

    fgets(str,n,fp);向fp所指文件读入长度为n-1的字符串,并在最后一个字符‘\0(这样就读入了n个字符),并且在读入过程中将‘\0'也作为一个字符读入。函数若成功返回数组str首元素地址,如果一开始就遇到文件尾或读数据出错则返回NULL;

    fputs(str,fp);将str指的字符串输出到文件fp中。字符串末尾的‘\0'不输出。若输出成功返回0,若失败值为EOF(-1);

    9、用格式化方式读写文件

    fprintf(文件指针,格式字符串,输出列表);  fscanf(文件指针,格式字符串,输入列表)不太常用。

    10、用二进制方式向文件读写一组数据

    在读写时是以二进制形式进行的,在向磁盘写数据是,直接将内存中的二进制数据、不加转换的赋值到磁盘上。

    一般调用形式为:fread(buffer,size,count,fp);     fwrite(buffer,size,count,fp);

    size是要读写的字节数,count要读写的数据项(每个数据项长度为size)、FILE文件类型指针。buffer对fread来说,是用来存放数据起始地址(数组地址),对fwrite来说,需要写入的数据的起始地址(数组地址)。

    11、随机读写数据文件

    rewind(fp);函数使文件位置标记重新指向文件开头,无返回值。

    fseek(文件类型指针,位移量,起始点);起始点用0、1、2代替。0代表文件开始位置,1位当前位置,2位文件末尾位置。

    SEEK_SET代表0,SEEK_CUR代表1,SEEK_END代表2。位移量的单位是字节。

     

     

     

    展开全文
  • 教程推荐:《c语言教程视频》C语言是一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为.OBJ二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)软件,把此.OBJ文件c语言提供...

    c语言程序的执行总是起始于main函数。在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。

    6025907f0a8f936ac7e981c016013f82.png

    教程推荐:《c语言教程视频》

    C语言是一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为.OBJ的二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)的软件,把此.OBJ文件与c语言提供的各种库函数连接在一起,生成一个后缀. EXE的可执行文件。显然C语言不能立即执行。

    一个c程序有且仅有一个main函数,除main函数之外可以有若干个其它的函数,每个函数实现某一特定的操作。

    在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。

    main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

    程序执行总是从main函数开始,如果有有其他函数,则完成对其他函数的调用后再返回到主函数,最后由main函数结束整个程序。在执行程序时,由系统调用main函数 。main 函数是在程序启动中完成对具有静态存储期的非局部对象的初始化之后被调用的。它是程序在有宿主 (hosted)环境(亦即有操作系统)中所指定的入口点。自立程序(启动加载器,操作系统内核,等等)的入口点则是由实现定义的。

    主函数的两个形参形式中的形参,允许从执行环境中传递任意的多字节字符串(它们通常被称为命令行参数),各个指针 argv[1] .. argv[argc-1] 指向每个这些字符串的第一个字符。argv[0] 是指向一个表示用于执行该程序自身的名字的空结尾多字节字符串(或者当执行环境不支持时,为空字符串 "")的开头字符的指针。这些字符串是可以改动的,虽然对它们的改动并不会被传回给执行环境:比如可以用 std::strtok 来使用它们。由 argv 所指向的数组的大小至少为 argc+1,其最后一个元素 argv[argc] 保证为一个空指针。

    展开全文
  • 很多小伙伴在自己写代码的时候,已经多次使用过#include命令。使用库函数之前,应该用#include引入对应的头文件。其实这种以#号开头的命令称为预处理命令。...2) 链接(Link)针对多个文件的,它
  • 我们写代码,仅仅文本文件(txt),不管后缀怎么变,终究文本文件,计算机只能显示,不能做事(执行)。 文本文件通过“编译、链接”,成为可执行文件(windows下exe): 编译:生成.o文件,也被称为...
  • 书山有路勤为径 学海无涯苦作舟 一思考题 1你如何向别人解释清楚什么是编程什么是计算机语言 2什么是C语言 二解答题 1用C语言编写程序求任意两个整数的和...} 3C语言源程序文件名的后缀为经过编译后生成文件的后缀
  • 13.3.1 文件的打开(fopen 函数) 200 13.3.2 文件关闭函数(fclose函数) 202 13.4 文件的读写 204 13.4.1 字符读写函数fgetc 和fputc 204 13.4.2 字符串读写函数fgets 和fputs 208 13.4.3 数据块读写函数fread 和...
  • 13.3.1 文件的打开(fopen 函数) 200 13.3.2 文件关闭函数(fclose函数) 202 13.4 文件的读写 204 13.4.1 字符读写函数fgetc 和fputc 204 13.4.2 字符串读写函数fgets 和fputs 208 13.4.3 数据块读写函数fread 和...
  • 在C/C++编程中,如果我们想要使用库函数,必须先通过#include引入对应的头文件。这种以#开头的命令就叫做预处理命令 ...(2)链接(Link)针对多个文件的,它会将编译生成的多个目标文件以及系统中的库.
  • Java代码运行过程

    2021-04-12 10:17:29
    2、编译:指使用Java编译器对源文件进行错误排查过程,编译后将生成后缀名为.class字节码文件,不像c语言那样生成可执行文件 3、运行:指使用java解释器将文字字节码文件翻译成机器吗执行并显示结果 什么是...
  • 我假定在你的服务器上所有PHP文件的扩展名为.php3。 2.2 PHP的安装 生成一个名为test.php3的文件,含有以下内容: (); ?> 然后在你的浏览器中打开此文件。看看这个页面你就知道你的PHP安装使用的选项了。 2.3 ...
  • 这个后缀是.c意思就是C语言的源代码,或者是预编译。 Linux中生成的是.out。 然后window里是exe文件后缀, 然后想一下,用C语言的语法来弄一下,, ??? 这个c语言的东西,第一句话就是包含头文件意思,...
  • JAVA基础配置JAVA环境

    2016-09-05 20:29:07
    什么要配置JAVA 环境?...编译指使用Java编译器对源文件进行错误排查过程,编译后将生成后缀名为.class字节码文件,这不像C语言那样最终生成可执行文件。 运行指使用Java解释器将字节码文件
  • dependence=$(sources:.c=.d) #这里,dependence所有.d文件的列表.即把串sources串里的.c换成.d。 include $(dependence) #include后面可以跟若干个文件名,用空格分开,支持通配符,例如include foo.make *.mk。这里...
  • 通过cc hello.c命令进行编译,如果源程序没有什么错误,编译过程将顺利进行,并生成一个可执行文件a.out【cc -c 源文件名称:编译,生成.o文件,叫做目标文件,存储的是.c文件代码对应二进制指令;cc.
  • 在类c语言中,头文件一般约定以.h为后缀,但并没有强制规定,可以任何后缀,头文件不直接参与编译,它只是辅助编译文件,经过预处理包含命令后(#include),头文件被合并到源文件中生成中间源文件,至此头文件就...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    -S,--suffix=后缀:自行指定备份文件的<后缀>。 -v,--verbose:处理每个文件/目录时印出名称。 --help:显示此帮助信息并离开。 --version:显示版本信息并离开。 mount 1.作用 mount命令的作用...
  • 高级Shell脚本编程

    2013-10-28 10:08:19
    将目录中所有符号链接文件的名字保存到一个文件中 10-12. 一个C风格的for循环 10-13. 在batch mode中使用efax 10-14. 简单的while循环 10-15. 另一个while循环 10-16. 多条件的while循环 10-17. C风格的while...
  • iPhone开发秘籍(第2版)--源代码

    热门讨论 2012-12-11 13:51:22
    该资料《iPhone开发秘籍:第2版》源代码 对应书籍资料见: iPhone开发秘籍:第2版(iphone开发必备佳作,在第一版基础上进行了全面修订和大量扩充) 基本信息 原书名: The iPhone Developer's Cookbook: ...
  • iPhone开发秘籍(第2版)--详细书签版

    热门讨论 2012-12-11 13:42:25
    1.8.6 应用程序束中不存在的文件 20 1.8.7 IPA归档 20 1.8.8 沙盒 20 1.9 编程范例 21 1.9.1 面向对象编程 21 1.9.2 模型—视图—控制器 22 1.10 小结 27 第2章 构建第一个项目 28 2.1 创建新项目 28 2.2 ...
  • 21天学通C++ (中文第五版)

    热门讨论 2010-06-23 16:57:03
    本书针对C++初学者编写,不要求读者有C语言方面背景知识,可作为高等院校教授C++课程教材,也可供初学者自学C++时使用。 译者介绍:Jesse Liberty 编著了大量有关软件开发图书,其中包括C++和.NET方面...
  • 10.2.1 类型是什么 10.2.2 C++中类 10.2.3 实现类成员函数 10.2.4 使用类 10.2.5 修改实现 10.2.6 小结 10.3 类构造函数和析构函数 10.3.1 声明和定义构造函数 10.3.2 使用构造函数 10.3.3 默认构造...
  • 本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...
  • 简单来说本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上一种有根结点的定向有序树,IMS...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

c语言生成文件的后缀是什么

c语言 订阅