程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 字符串函數,c語言字符串函數大全

字符串函數,c語言字符串函數大全

編輯:關於C語言

字符串函數,c語言字符串函數大全


1.memset

#include <stdio.h>
#include <string.h>
int main()
{
    //char *s="My Dream Come true";//用來初始化字符指針的字符串常量會被編譯器安排到只讀數據存儲區,是不可以修改的
    char s[] ="My Dream Come true";//在棧中分配空間
    memset(s,'b',6);//以字節為單位
    printf("%s\n",s);//bbbbbbam Come true
    return 0;
}

memset可以方便的清空一個結構類型的變量或數組。
例:
變量:struct position pos;
memset(&pos,0,sizeof(struct position));
數組:
struct position pos[10];
memset(pos,0,sizeof(struct position)*10);

2.memcpy

通常在復制字符串時用strcpy,而需要復制其他類型數據時則一般用memcpy

memcpy可以復制任意內容,例如字符數組、整型、結構體、類等

//memcpy用來做內存拷貝,你可以拿它拷貝任何數據類型的對象,可以指定拷貝的數據長度
#include <stdio.h>
#include <string.h>
int main()
{
    char a[27]={'\0'}, b[30]={'\0'};
    for(int i=0;i<26;i++)
        a[i] = 'A'+ i;
    memcpy(b, a, sizeof(b));//將a數組中的內容拷貝到b數組中去,b數組長度不應小於a
    puts(b);//ABCD.....Z
    return 0;
}

如果上面的b數組長度小於a,則b中先會被賦值和b數組等長的字符串,另外,會追加整個a數組的字符串

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved