持っている
typedef struct person {
char name[20]
char surname[20]
} person_t;
XXXXXX:YYYYYY
のような関数
を使用して文字列を作成する必要がありますchar* personToString(person_t *p)
。私はそれを作ろうとしました:
char* personToString(person_t* p) {
int n1,n2;
n1=strlen(p->name);
n2=strlen(p->surname);
char *p = (char*) malloc((n1+n2+2)*sizeof(char));
strcat(p,puser->name);
strcat(p,":");
strcat(p,puser->surname);
return p;
}
これにより妥当な出力が得られますが、valgrind でテスト中にエラーが発生しました! また、関数をもっと上品に書く方法があると思います!