我想制作一个strncpy函数,所以我尝试制作但我不能。
我做了一个结构。 struct have int age;和char名字[20]。所以我想从scanf命名[20]复制字符串。但它失败了...我怎么能做到 strlcpy功能? (*list).name++ = name++;
是错误......如果这是工作,我可以制作一个strncpy。
void makeUserList (Unit* list, const char *name, int age ){
while (*name) {
NSLog(@"%c",*name);
(*list).name++ = name++;
// (list->name)++ = name++;
NSLog(@"%c",*list[roomNum].name);
}
我来自韩国。请理解我的英语语法...... 有一个很好的daY~
答案 0 :(得分:0)
首先,代码(*list).name++ = name++;
只会复制一个字符。它应该在name
的整个长度上重复。第二:此代码也将修改list
的{{1}}字段,以便它指向复制字符串的结尾,这显然不是您想要的。如果要使其正常工作,则应复制目标指针并使用此副本。例如,查看here。