目录
最近跟老师做项目,在linux下使用C开发,遇到的问题总结。
1. makefile
首先是文件的编译运行,编译使用自己写的makefile文件,可以下载eclipseCDT等ADE用于查看函数声明等,因为一些跳转的快捷键很好用,但是很多配置,以及一些路径总是报错,所以我选择通过命令行以及在代码中添加一些类似如下的输出进行调试,可执行文件通过makefile中指定生成。
printf("file: %s,line:%d\n",__FILE__, __LINE__);
2. fopen()
头文件
:#include <stdio.h>
fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:
FILE * fopen(const char * path, const char * mode);
path
为包含了路径的文件名,mode
为文件打开方式。
【返回值】
文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
注意:一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。
3. fgets()
头文件:
# include <stdio.h>
fgets() 的原型为:
# include <stdio.h>
char *fgets(char *s, int size, FILE *stream);
其中:s 代表要保存到的内存空间的首地址,可以是字符数组名,也可以是指向字符数组的字符指针变量名。size 代表的是读取字符串的长度。stream 表示从何种流中读取,可以是标准输入流 stdin,也可以是文件流,即从某个文件中读取.。
它的返回值是一个指针,指向字符串中第一个字符的地址。
详情
4. strncmp()
头文件
:#include <string.h>
strncmp() 用来比较两个字符串的前n个字符,区分大小写,其原型为:
int strncmp ( const char * str1, const char * str2, size_t n );
【参数】
str1, str2 为需要比较的两个字符串,n为要比较的字符的数目。
【返回值】
若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 若小于s2,则返回小于0的值。
详情
5. strchr()
头文件
:#include <string.h>
strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:
char * strchr (const