2014-03-19 46 views
-1

我有一個包含多組數據的字符串。我想使用它的結構來分割數據並且能夠操縱它。到目前爲止,我不知道如何操作數組。數據包含4個字符的名稱和年齡。由於反覆在字符串中使用struct(C語言)

#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);        
}           
+2

請更具體的,補充一點,你現在有,因爲經常在理解幫助任何代碼。什麼是「小組」?什麼「數組」? – unwind

+0

你需要什麼類型的操作?請給出一些關於您的要求的更多解釋。 –

+0

我想知道如何一次又一次地使用char數組上的結構。 @HeenaGoyal – entendezEJ

回答

1

平時要系列化任何內存字符數組,你需要寫它的大小(例如LONG32 - 4字節),然後串/內存本身。閱讀時 - 首先閱讀大小,然後你知道你需要閱讀多少。

對於使用字符數組結構: 試試這個:

int i; 
char* yourstring = (char*)malloc(N); 
YourStruct* p = (YourStruct*)yourstring; 
//Do something 
while (i < sizeof(yourstring)/sizeof(YourStruct)) 
{ 
    ++p; 
    //Do something 
} 
+0

根據你添加的代碼,試試這個: structtest * pstruct = test;然後像我上面寫的那樣移動 – Arkady