第六章的内容基本上看完了,但是感觉还没有完全掌握,一些函数的参数,使用方法,还有宏定义,都记的不是很准,看书的时候也发现很多不会的问题,在这里把书上遇到的问题,以及书上的小知识点记下来
(1)atoi函数
这个函数的作用是把字符串转换成整型数的一个函数
函数原型:
int atoi(const char *nptr);
函数说明:
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字
(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。
包含头文件:stdlib.h
例子
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str="12345.67";
n=atoi(str);
printf("int=%d\n",n);
return 0;
}
输出结果 int=12345
第一次看到这个函数的时候,顿时对这个函数有了好感,虽然说看起来只能把字符串转换成整型数,但在以往写程序的时候有时候会考虑用字符数组还是用int或者long来定义变量保存数字数据,有了这个函数就相当于给字符数组和整型数据中架起了一道互换的桥梁,对以后的编程以及字符数组和整型间的转换会起到一定作用。
(2)perror
作用:
perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno(这里的说法不准确,errno是一个宏,该宏返回左值) 的值来决定要输出的字符串。perror函数只是将你输入的一些信息和现在的errno所对应的错误一起输出。
定义函数
void perror ( const char * str );
包含头文件:
stdio.h
stdlib.h
这个函数可以简单理解为把错误信息输出来,分成两部分,一部分是perror(s)括号里面的参数,及s,然后再接着输出错误原因的字符串,把整个错误信息打印出来
(3)strerror函数
函数作用
通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。
函数原型
char*strerror(interrnum);
char*_strerror(constchar*strErrMsg);
wchar_t*_wcserror(interrnum);
wchar_t*__wcserror(constwchar_t*strErrMsg)
包含头文件
string.h
这个函数就是将出现错误的错误标号,转为对应的字符串输出,更直观的看到错误信息
(4)getpid函数
函数功能:取得进程识别码
相关函数:fork,kill,getpid
头文件:旧版本:unistd.h,在VC++6.0下可以用process.h
函数原型:旧的原型为pid_t getpid(void);,推荐使用int _getpid( void );这种形式。注意,函数名第一个字符是下划线。
函数说明:getpid函数用来取得目前进程的进程ID,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题
返回值:目前进程的进程ID
这个函数是在文件锁里面看到的,是锁设置好以后,将设置锁的进程的ID打印出来
(5)memset函数
函数作用:
memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。
函数原型:
void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。
(6)ctime函数
函数功能:
ctime功能是 把日期和时间转换为字符串
函数原型:
char *ctime(const time_t *time);
程序例:
#include<cstdio>
#include<ctime>
intmain(void)
{
time_t t;
t=time(&t);
printf("Today'sdateandtime:%s\n",ctime(&t));
return 0;
}
这个函数就是可以把时间日期转化成字符串,然后用到程序里就很方便啦