memset使用

来源:互联网 发布:photo shop cs3 mac版 编辑:程序博客网 时间:2024/05/16 09:17

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:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法






#include <stdio.h>
#include <stdlib.h>
int main()
{
        int cpu = -1, mem = -1;
        FILE *fp = NULL;
        char line[128] = "\0";
        fp = fopen("/dev/shm/f3000load", "r");
        if(fp != NULL)
        {
                memset(line,0,sizeof(line));
                fgets(line,sizeof(line),fp);
                printf("linecpu = %s\n",line);
                cpu = atoi(line);
                printf("cpu = %d\n",cpu);
                memset(line, 0, sizeof(line));
                fgets(line,sizeof(line),fp);
                printf("linemem = %s\n",line);
                mem = atoi(line);
                printf("mem =%d\n",mem);
                fclose(fp);
                fp = NULL;
                if(cpu > 90 || mem > 90)
                {
                        return -1;
                }

        }
        printf("1111111111111\n");
        return 0;
}


----------------------------------------------

注意:

char buffer[4];
memset(buffer,0,sizeof(char)*4);
strcpy(buffer,"123");
//"123"中最后隐藏的'\0'占一位,总长4位。


原创粉丝点击