标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型
函数声明:
1、隐式声明:在没有声明的情况下,系统可依据參数类型推断去调用函数(有可能出错)
2、显式声明:声明在被调用之前。如:double add(double,double); 函数声明參数可仅仅写类型,不须要写函数体。
文件操作:
fopen --打开文件,FILE *pFile=fopen("a.txt","w");
fopen的打开模式:
r:仅仅能读,要求文件存在
r+:可读可写,要求文件存在
w:仅仅能写,创建文件。假设文件存在则先删除旧文件
w+:可读可写,创建文件,假设文件存在则先删除旧文件
a:仅仅能写。如不存在则创建文件。假设存在则不改动文件内容,追加内容
a+:可读可写,如不存在则创建文件。假设存在则不改动文件内容,追加内容
b:以二进制方式操作文件,可与以上几个混合使用
fwrite --向文件写入内容,int arr[5]={0};fwrite(arr,sizeof(int),5,pFile);
fread --从文件读取内容,int arr[5]={0};fread(arr,sizeof(int),5,pFile);
fclose --关闭文件。fclose(pFile);pFile=NULL;
fputs --写入内容。char str[20]={'a','b'};fputs(str,pFile);
fgets --读取内容。char str[20]={0};fgets(str,20,pFile);//从文件读取19字符+'\0'
ftell(FILE* pfile) --得到指针位置距离开头的距离。假设当前指针是文件尾,能够得到文件大小
rewind(FILE* pfile) --把指针位置移到开头
fseek(FILE* pfile,int relativeposition,SEEK_FLAG flag) --定位读写指针
flag:
SEEK_SET --开头
SEEK_CUR --当前位置
SEEK_END --文件尾
联合类型(union):多个变量共享一段内存,同一时刻仅仅有一个成员变量具有有效值。
比如:
union{
int i;
double d;
}myunion;
枚举类型:
enum color{RED,BLUE,GREEN};//转换为int值依次是 0,1,2
enum color{RED=1,BLUE=4,GREEN};//转换为int值依次是 1,4,5
用法:
enum color{RED=5,BLUE,GREEN} mycolor,mycolor1;//定义两个变量
mycolor=(enum color) 7;
cout<<(int)BLUE<<endl;//直接使用
标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型的更多相关文章
- javascript面向对象编程笔记(函数)
第三章 函数 3.1 什么是函数 一般来说,函数声明通常由以下几部分组成: function子句 函数名称 函数所需参数 函数体 return子句.如果某个函数没有显示的返回值,默认它的返回值为und ...
- python笔记(三)---文件读写、修改文件内容、处理json、函数
文件读写(一) #r 只读,打开文件不存在的话,会报错 #w 只写,会清空原来文件的内容 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件 print(f.read()) #获取到 ...
- C学习笔记(8)--- 文件读写
1.C 文件读写: 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件. a.打开文件: FILE *f ...
- c# 函数练习;结构体、枚举类型
* 结构体 1.就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 注意:枚举类型和结构体都属于值类型. 2.定义的方法: struct student { public in ...
- 标C编程笔记day06 动态分配内存、函数指针、可变长度參数
动态分配内存:头文件 stdlib.h malloc:分配内存 calloc:分配内存,并清零 realloc:调整已分配的内存块大小 演示样例: in ...
- 标C编程笔记day04 预处理、宏定义、条件编译、makefile、结构体使用
预处理:也就是包括须要的头文件,用#include<标准头文件>或#include "自己定义的头文件" 宏定义,如:#define PI 3.1415926 查看用宏 ...
- javascript面向对象编程笔记(函数之闭包)
3 函数 3.5 闭包(closures) 3.5.1 作用域链 与很多程序设计语言不同,javascript不存在大括号级的作用域,但它有函数作用域,即在函数内定义的变量在函数外是不可见的.但如果该 ...
- C++MFC编程笔记day05 文档类-单文档和多文档应用程序
文档类 1 相关类 CDocument类-父类是CCmdTarget类,所以,文档类也能够处理菜单等 命令消息. 作用保存和管理数据. 注意事项:怎样解决断言错 ...
- Python笔记-built-in函数,文件操作,lambda函数
Built-In: i = abs(123) print(i) j = abs(-123) print(j)#123#123 #all,需要传一个可迭代的东西,里面所有的值是真,返回真 r1 = al ...
随机推荐
- CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)
树状数组仅仅能实现线段树区间改动和区间查询的功能,能够取代不须要lazy tag的线段树.且代码量和常数较小 首先定义一个数组 int c[N]; 并清空 memset(c, 0, sizeof c) ...
- Windows 2008 R2有效激活方法【转】
原文地址:http://jingyan.baidu.com/article/851fbc3707096e3e1f15ab33.html 装了windows server 2008之后才发现,它与win ...
- .NET Remoting与Socket、Webservice和WCF的比较及优势 (转)
1:Socket VS Remoting 使用socket无疑是效率最高的.但是,在复杂的接口环境下,Socket的开发效率也是最低的.故在兼顾开发效率的情况下,可以使用Remoting来代替Sock ...
- JavaScript-CasperJs使用教程
如果是类似12306这种网站的话, 必须使用--ssl-protocol=any --ignore-ssl-errors=true选项, 例如 casperjs --ssl-protocol=any ...
- tit.Atitit. http 代理原理 atiHttpProxy 大木马 h
Atitit. http 代理原理 atiHttpProxy 大木马 1. 面这张图可以清晰地阐明HttpProxy的实现原理:1 2. 代理服务器用途1 3. 其中流程具体如下:2 4. 设计规 ...
- atitit.jQuery Validate验证框架详解与ati Validate 设计新特性
atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...
- C# 执行多条SQL更新语句,实现数据库事务
class Program { class Result<T> { public T data; public string Message; public bool Success; p ...
- Ajax同步与异步优缺点与使用
一.什么是同步请求:(false) 同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能 ...
- deepin linux 15.3安装完eclipse启动报错An error has occurred.
原因是系统中安装了jdk9 导致的. 卸载jdk9就可以了 $ java -version Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings ...
- 如何用手机访问电脑上的html文件
如何用手机访问电脑上的html文件 梦唪 | 浏览 3876 次 推荐于2016-03-26 08:08:58 最佳答案 1,你得搭建服务器,用Apache或者IIS.2,把HTML文件放到服 ...