找回密码
 立即注册
查看: 1585|回复: 14

编程区题目之二 自己实现strncpy

 关闭 [复制链接]

7657

回帖

86万

基友

34万

积分

天下一番

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

伯爵荣耀

发表于 2013-12-6 11:05:11 来自手机 | 显示全部楼层 |阅读模式
第三题:http://www.258ch.com/thread-128479-1-1.html
------------------------------------------------------------------------

要求
自己实现c语言库函数strncpy 不允许调用任何库函数

原型
  1. char *strncpy(char *dst, char *src, size_t nsize);
复制代码
描述
将src的前n个字符复制到dst中 如果src长度不足n 则剩余字符都是'\0' 返回dst

参考答案:
  1. char *strncpy(char *dst, char *src, size_t nsize)
  2. {
  3.   int i;
  4.   for(i = 0; i < nsize && str[i] != 0; i++)
  5.     dst[i] = src[i];
  6.   for( ; i < nsize; i++)
  7.     dst[i] = 0;
  8.   return dst;
  9. }
复制代码
回复

使用道具 举报

1124

回帖

4257

基友

4654

积分

通神6段 Lv.9

Rank: 5Rank: 5

发表于 2013-12-6 12:28:55 来自手机 | 显示全部楼层
看不懂额
回复 支持 反对

使用道具 举报

7470

回帖

2063

基友

1万

积分

萨菲尔斯

One more time One more chance

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

苍海的女仆

发表于 2013-12-6 13:31:32 | 显示全部楼层
看不懂→ →
回复 支持 反对

使用道具 举报

3663

回帖

5930

基友

1万

积分

VIP1

大神都是狗

伯爵荣耀

发表于 2013-12-6 13:37:00 | 显示全部楼层
不明
回复 支持 反对

使用道具 举报

3434

回帖

1万

基友

1万

积分

仙人3层 Lv.12

落世残阳 Lv.MAX

Rank: 6Rank: 6

苍海的女仆

发表于 2013-12-6 14:07:12 | 显示全部楼层
挤挤。
回复 支持 反对

使用道具 举报

2034

回帖

2万

基友

2万

积分

仙人7层 Lv.16

Invincible

Rank: 10Rank: 10Rank: 10

发表于 2013-12-6 14:08:56 来自手机 | 显示全部楼层
好简单→_→

点评

那你写啊。。。  发表于 2013-12-6 19:06
回复 支持 反对

使用道具 举报

169

回帖

405

基友

660

积分

通神1段 Lv.4

Rank: 2

发表于 2013-12-6 15:48:43 | 显示全部楼层
我也不清楚是什么意思
回复 支持 反对

使用道具 举报

329

回帖

311

基友

1175

积分

通神3段 Lv.6

Rank: 3Rank: 3

发表于 2013-12-6 18:09:07 | 显示全部楼层
看不懂
回复 支持 反对

使用道具 举报

2034

回帖

2万

基友

2万

积分

仙人7层 Lv.16

Invincible

Rank: 10Rank: 10Rank: 10

发表于 2013-12-6 20:06:26 来自手机 | 显示全部楼层
#include <cstdio>

void strncpy(char *dst, char *src, int len)
{
        int i(0);
        while (i != len && src[i])
        {
                dst[i] = src[i];
                ++i;
        }
        while (i != len)
                dst[i++] = 0;
}

int main(int argc, char *argv[])
{
        char s1[] = "hellochi";
        char s2[] = "feilonghendiao";
        puts(s1);
        strncpy(s1, s2, 5);
        printf("%s\n%s", s1, s2);
        getchar();
}

评分

参与人数 1妹纸 +50 基友 +100 收起 理由
龙 + 50 + 100

查看全部评分

回复 支持 反对

使用道具 举报

2034

回帖

2万

基友

2万

积分

仙人7层 Lv.16

Invincible

Rank: 10Rank: 10Rank: 10

发表于 2013-12-6 20:07:46 来自手机 | 显示全部楼层
因为感觉返回值没用就直接改void了→_→

点评

给分了=。=  发表于 2013-12-6 22:28
回复 支持 反对

使用道具 举报

144

回帖

560

基友

591

积分

通神1段 Lv.4

Rank: 2

伯爵荣耀

发表于 2013-12-10 16:59:34 | 显示全部楼层


欢迎您来到苍海国际快来加入我们吧
                  希望大家在这里玩的开心
           下面我为你做一下简单的介绍吧
苍海国际 是一个集贴吧辅助(刷粉刷经验等)、脚本及漏洞研究、id控交流、网络编程交流的综合性论坛,同时也兼具娱乐项目。
综合交流 这里是给大家提供交流和认识朋友的地方.
ACG广场 这里是集动画、漫画、游戏讨论的版块.
新人报道 每一个新人到这里先自我介绍吧.
求助中心 大家如果有不懂的地方可以在这里发贴求助.
工具发布 这里是百度各类辅助软件发布的地方.
马甲代理 这里面是百度各类辅助软件需要的马甲发布的地方.
论坛还有每日抽奖游戏功能,奖励是论坛的流通币基友

好了,我就只介绍到这里了,有更多好玩的还需你亲自去发现,加入我们吧


请不要在本板块刷帖,不要无视置顶版规!否则直接封论坛帐号
回复 支持 反对

使用道具 举报

121

回帖

619

基友

1167

积分

通神3段 Lv.6

Rank: 3Rank: 3

发表于 2013-12-13 09:54:22 | 显示全部楼层
C语言的 =,=
回复 支持 反对

使用道具 举报

477

回帖

1537

基友

3190

积分

通神5段 Lv.8

Rank: 4

发表于 2013-12-14 12:51:21 | 显示全部楼层
说好的易呢?
回复 支持 反对

使用道具 举报

280

回帖

-10

基友

190

积分

凡人2阶 Lv.2

Rank: 1

发表于 2014-5-16 15:08:48 | 显示全部楼层
逛逛
回复

使用道具 举报

77

回帖

256

基友

314

积分

凡人3阶 Lv.3

Rank: 2

发表于 2014-7-14 14:42:32 | 显示全部楼层
完全看不懂啊,特别想学这方面的知识
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|苍海国际 ( 鲁ICP备13020644号-1 )

GMT+8, 2024-11-22 07:06 , Processed in 0.065487 second(s), 31 queries .

Powered by Discuz! Theme By eRic Modified by 4bpa

© CangHai International We Do Our Rights!

返回顶部