關於結構體與字符串相互轉換驗證


/*************************************************************************
    > File Name: memtest.c
    > Author: 
    > Mail: 
    > Created Time: Thu 27 Dec 2018 05:47:37 PM CST
 ************************************************************************/

#include<stdio.h>
#define N 50
#define IPSIZE 15
struct ClientInfo{
    char headName[N];        
    char name[N];            
    int num;                
    char ip[IPSIZE];    
};

int main(int argc,char **argv)
{
    struct ClientInfo aaa;
    strcpy(aaa.headName,"aaaaaaaaaaaaa");
    strcpy(aaa.name,"bbbbbbbbb");
    aaa.num = 10;
    strcpy(aaa.ip,"ccccccc");
    char buf[200];
    memcpy(buf,&aaa,sizeof(aaa));
    struct ClientInfo bbb;
    memcpy(&bbb,buf,sizeof(bbb));
    printf("%s\n",bbb.headName);
    printf("%s\n",bbb.name);
    printf("%d\n",bbb.num);
    printf("%s\n",bbb.ip);
}

輸出結果:

aaaaaaaaaaaaa
bbbbbbbbb
10
ccccccc

這里要注意結構體的字節對齊規則 

后續會把相關知識錄入博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM