我怎么能做一个strncpy功能?

时间:2015-01-26 18:04:55

标签: c string

我想制作一个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~

1 个答案:

答案 0 :(得分:0)

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