字符转换为数字:
double atof(char *str) ; //将字符串str转换为double型数字 int atoi (char *str) ; //将字符串str转换为int 型数字 long atol(char *str) ; //将字符串str转换为long int 型数字数字转换为字符:
//将int型数字digit按radix进制转换成字符串destStr char * itoa (int digit, char *destStr, int radix) ; //同理将long型数字转换成字符串 char * ltoa (long digit, char *destStr, int radix) ; //同理将unsignedlong型数字转换成字符串 char * ultoa (long digit, char *destStr,int radix) ;【以上库函数能够用于进制的转换】
类似函数还有:
double strtod(char *, char **) ; long strtol(char *, char **, int) ; unsigned long strtoul(char *, char **, int) ;char * strncpy(char *s1,char *s2) ; //将字符串s2的最多n个字符拷贝到数组s1中 char * strcat (char *s1, char * s2) ; //将字符串s2连接在字符串s1尾部 char * strncat(char *s1, char *s2, size_tn) ; //将字符串s2中最多n个字符连接在s1之后
【注意:以上操作都要求目标字符数组有足够的存储空间】
其他函数:
char *strrev(char * ) ; //字符串逆序函数 size_t strlen(char * str) ;//測字符串str的长度注意:
strncpy( ) , strncat( ) , strncmp( ) ,这些函数仅仅能对两个不同的字符串操作,不能对同一字符串的不同部分操作。假设须要这么做,能够使用内存函数。
若把目标字符串初始置空,strncat()能够完毕非常多功能的操作。能够替代strncpy( )的功能,还能够提取子串等。
内存函数直接对内存操作,不仅能够处理字符串,还能够处理不论什么类型的数组、结构等。
在标准C中,这些函数被觉得是字符串函数的一部分,是在头文件string.h中声明的。
void * memcpy(void *dest, const void *src, size_t n) ; //从src地址处复制n个字节到dest , 并返回地址dest的值 void * memmove(void *dest, const void *src, size_t n) ; //其功能与上个函数同样。差别在于:memmove函数在源内存区域和目标内存区域重叠的情况下也能正确运行操作。 void * memchr(const void *ptr, int val, size_t len) ; /*在地址ptr后的前len个字符中搜索val值的第一次出现。
假设找到val。它返回一个指向包括val值的第一个字符的指针,否则返回一个null字符。(每一个字符依据表达式(unsigned char)c == (unsigned char)val 比較)*/ void * memset(void * ptr, int val, size_tlen) ; //把val拷贝到从ptr開始的len个字符中,ptr所指定的字符被觉得是unsignedchar类型 int memcmp(const void * ptr1, const void * ptr2, size_t len) ; //把ptr1的前len个字符与ptr2的前len个字符进行比較。假设第一个字符串按字典顺序小于第二字字符串,memcmp就返回一个负值。
转载于:https://www.cnblogs.com/bhlsheji/p/5287117.html