我有一个包含多组数据的字符串。我想在它上面使用一个结构来划分数据并能够操作它。到目前为止,我不知道如何操作数组。该数据包含 4 个字符的姓名和年龄。谢谢
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct structtest
{
unsigned char name[4];
unsigned char age[2];
} structtest;
structtest *dstr;
int main( void )
{
char test[18] = 'mark20john18josh16';
//clueless on this part
return(0);
}
最佳答案
通常要将任何内存序列化为字符数组,您需要写入它的大小(例如 LONG32 - 4 个字节),然后写入字符串/内存本身。阅读时 - 首先阅读大小,然后您就知道需要阅读多少。
对于使用 char 数组作为结构: 试试这个:
int i;
char* yourstring = (char*)malloc(N);
YourStruct* p = (YourStruct*)yourstring;
//Do something
while (i < sizeof(yourstring) / sizeof(YourStruct))
{
++p;
//Do something
}
关于c - 一遍又一遍地在String中使用struct(C语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22499637/