您的位置:首页 > 编程语言 > C语言/C++

C/C++常用的语言函数积累

2017-12-30 10:20 218 查看
1、memset(void *s,int ch,size_t n);

将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值,
第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作,
其返回值为指向s的指针。作用是在一段内存块中填充某个给定的值,它是对较大的结构体数组进行清零操作的一种最快方法。

<memory.h>或<string.h>

2、void *memcpy(void *dest, const void *src, size_t
n);

从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

函数返回指向dest的指针。

C语言:#include<string.h>

C++:#include<cstring>

3、atoi():int
atoi(const char *str );

功能:把字符串转换成整型数。

str:要进行转换的字符串

头文件:#include
<stdlib.h>

返回值:每个函数返回 int 值,此值由将输入字符作为数字解析而生成。 如果该输入无法转换为该类型的值,则atoi的返回值为 0。

说明:当第一个字符不能识别为数字时,函数将停止读入输入字符串。

#include <stdlib.h>

#include <stdio.h>

 

int main(void)

{

    int n;

    char *str = "12345.67";

    n = atoi(str);

    printf("n=%d\n",n);

    return 0;

}

输出:

n = 12345

#include <stdlib.h>

4、extern int strcmp(const char *s1,const char *s2);
设这两个字符串为str1,str2,

若str1==str2,则返回零;

若str1<str2,则返回负数;

若str1>str2,则返回正数。

matlab中函数,strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回true ,不同返回false

头文件string.h

当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。有些实现会返回1或-1,但将返回值与1或-1做比较的人,都是不合格的程序员。

5、int strncmp(const char *s1, const char *s2, size_t n);
#include <string.h>

The strncmp() function is similar, except it only compares the first (at most) n characters of s1 and s2.

【参数】str1, str2 为需要比较的两个字符串,n为要比较的字符的数目。

字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strncmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,直到字符结束标志'\0',若差值不为0,则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。注意:要比较的字符包括字符串结束标志'\0',而且一旦遇到'\0'就结束比较,无论n是多少,不再继续比较后边的字符。

【返回值】若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 若小于s2,则返回小于0的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CC++