2015-01-26 36 views
-2

我想做一个strncpy函数,所以我尝试做它,但我不能。如何制作一个strncpy函数?

我做了一个结构。 struct有int年龄;和char名字[20]。所以我想命名[20]从scanf复制字符串。但它失败了......我如何使一个 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); 

    } 

我来自韩国。请理解我的英文语法... 祝你好运〜

+0

'strlcpy'函数的要求是什么?你的标题说'strncpy'。 – 2015-01-26 18:05:47

+0

哦对不起,我会修复它 – 2015-01-26 18:07:45

+0

谢谢〜给我一个建议 – 2015-01-26 18:08:29

回答

0

首先,代码(*list).name++ = name++;将只复制一个字符。它应该重复的整个长度为name。第二:此代码也将修改listname字段,以便它将指向复制字符串的末尾,这显然不是您想要的。如果你想这个工作,你应该复制目标指针并使用这个副本。例如,看here

+0

我得到了这个功能的基础。所以我尝试(* list).name ++ = name ++;此代码...但它失败..所以我想修复该代码... – 2015-01-26 18:24:04

+0

我想增加(*列表).name ++长度.. – 2015-01-26 18:25:12

+0

你想复制一个字符串,我猜。 – 2015-01-26 18:25:57

相关问题