Unix环境下的编程,所涉及的主要c语言知识
来源:互联网 发布:小米网络全球 编辑:程序博客网 时间:2024/05/18 02:12
宏定义
在一个语句中引用另外一个语句中已经定义的符号,是完全合法的。
#define PI 3.141592675#define TWO_PI 2.0*PI
注意:如果宏定义语句需要跨两行,那么我们必须在第一行的结尾处放置一个反斜线\
带有参数的宏定义语句#define IS_LEAP_YEAR(y) y%4==0&&y%100!=0|y%400==0W:c语言的预处理器仅仅进行文本替换
W:定义带有参数的符号时,符号名称和参数列表的左括号之间不允许有空格。
W:与函数不同的是,我们不需要声明参数y的类型。
接受可变参数个数的宏
#define debugPrintf(...) printf("Debug:""__VA_ARGS__");
#参数
#define str(x) #x
str(testing)
"testing"w:如果在宏定义的参数前面放置一个#,那么c语言的预处理器将使用该参数生成一个常数字符串。
w:如果参数内部本身还包含双引号或者反斜线,这些特殊符号在宏展开的过程中都将保留
##操作符
#define printx(n) printf("%i\n",x##n)
printx(20)
printf("%i\n",x20);w:宏定义中使用这个操作符可以将两个符号连接起来,操作符前面或者后面可以是宏的参数,创建一个新的符号。
#include语句
头文件或者包含文件里面集中了很多程序中都需要使用的宏定义,可以用#include语句,将其包含到程序中。
<>尖括号让c语言预处理器到某些特定的系统目录寻找该文件。
系统头文件
c语言系统本身就提供了很多的标准头文件
IO重定向
reverse>data将reverse程序的输出写入到data文件里面
reverse<num将reverse的输入定向到num文件
reverse<num>data将文件num输入到reverse程序中,处理后输入到data文件
文件结束标志
在c语言中,我们读完了文件中的数据,系统将设置一个文件结束标志。这个特殊的值用符号EOF代表,该符号在系统头文件<stdio.h>中定义。
fopen函数
fopen函数接受两个参数,第一个参数是字符串类型,用于表示将要打开文件的文件名,第二个参数还是字符串,用于表示用何种模式打开文件。
如果打开失败,该函数返回NULL,NULL在系统头文件<stdio.h>中定义,该文件还定义了一个结构类型FILE,我们必须使用一个指向该类型的指针变量来存储fopen函数的返回值。
FILE*inputFile;
inputFile=fopen("data","r");
有三种模式,‘w’写模式,‘r’读模式,‘a’追加模式。getc函数和putc函数
getc函数与getchar函数相同,读入一个字符,但是可以接受一个FILE类型的指针参数,表示从哪个文件读取数据。
putc函数与putchar相同,但是要接受两个参数,1,需要输出的字符,第二,FILE指针。
fcolse函数接收一个参数,即需要关闭文件的FILE指针。
fgets函数和fputs函数
如果需要从文件中读取整行数据,我们可以使用c语言提供的fgets和fputs函数。
fgets(buffer,n,filePtr)其中,buffer是一个字符数组,用于保存读入的字符,n代表buffer最大能够容纳的字符个数,filePtr是需要从中读取数据的文件指针。
fputs(buffer,filePtr);fputs函数将buffer中的字符输出到filePtr对应的文件中,一直到遇到buffer中的空字符为止。
- Unix环境下的编程,所涉及的主要c语言知识
- UNIX下c语言的图形编程
- 注册页面所涉及的知识
- android开发所涉及的知识体系
- LINUX下进行C语言编程所需要的基础知识.!!!
- LINUX下进行C语言编程所需要的基础知识
- UNIX下c语言的图形编程--curses.h 函式库
- UNIX下C语言的图形编程curses.h函式库
- UNIX下c语言的图形编程--curses.h 函式库
- UNIX下c语言的图形编程--curses.h 函式库
- UNIX下C语言的图形编程-curses.h函数库
- Ubuntu下的编程-C语言编程环境
- Unix初学者的迷惑——《精通Unix下C语言编程与项目实践》读
- Unix/Linux环境下的Socket编程
- Unix/Linux环境下的Socket编程
- Unix环境下的Socket编程(转)
- Unix/Linux环境下的Socket编程
- Unix环境下的Socket编程
- 抽象类和接口的区别
- 查找输入整数二进制中1的个数
- MYSQL备份+增量恢复+引擎 -学习笔记
- 解决用mysql front 或者navicat导入sql脚本时候各种错误问题
- log库的使用
- Unix环境下的编程,所涉及的主要c语言知识
- js 数组排序
- 【maven】在setting文件配置中央仓库的镜像
- 设计模式(七)代理模式
- IntelliJ IDEA Ultimate 安装&激活
- 设计模式之---单例模式总结
- system.badimageformatexception 未能加载文件或程序集
- Suse 11 Install openssl 1.0.1c
- 将自定义对象存到文件