如何将char数组的某一段拷贝到另一个char数组里面?在线等待啊!急啊

sailor_Song 2003-06-06 09:45:45
如何将char数组的某一段拷贝到另一个char数组里面?
char a[] = "dlkfigjchduejffasdf";
char b[10];
如何将a中从的五位开始取十位放到b中!用什么函数?
在线等待啊!急啊
...全文
3067 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_feng_fly 2003-07-18
  • 打赏
  • 举报
回复
可以使用std::copy
lcp 2003-07-18
  • 打赏
  • 举报
回复
支持:
stukov2002(卡拉是头猪)
不过:
1.使用库函数:
strncpy(b, a + 5, 10);
2.或者:
memset(b, 0, 10);
memcpy(b, a + 5, 10);

第一种比较不好,因为strncpy拷贝了10个字符到b后,还会再加一个'\0',这样就越界了。
用第二种比较合题

zteliubin(bill)等几位大虾说的很好。
zteliubin 2003-07-18
  • 打赏
  • 举报
回复
strcpy()当然不行!
playboyxp 2003-07-18
  • 打赏
  • 举报
回复
可以用strcpy()函数
zteliubin 2003-07-18
  • 打赏
  • 举报
回复
strncpy/memcpy都可!

re: junglesong(在黑暗中举起探索的火炬) & stukov2002(卡拉是头猪)

你们没有什么好争的,题目说只拷贝10位,那就只拷贝10位,
再往后面赋0已经越界访问了!
至于打印问题,题目没要求打印,自然不会出现那样的问题!
还有memset()这里已经没什么用,一共才10字节,拷贝10字节!
junglesong 2003-07-18
  • 打赏
  • 举报
回复
to stukov2002(卡拉是头猪):
memset没有给b[10]赋'\0'啊,可以运行以下程序看看。

#include "stdafx.h"
#include <memory.h>
#include <iostream.h>
#include <string.h>

int main(int argc, char* argv[])
{
char a[]="AAAAABBBBBCCCCC";
char b[10];
memset(b,0,10);
memcpy(b,a+5,10);
printf("%s\n",b);
cout<<b<<endl;
return 0;
}
zteliubin 2003-07-18
  • 打赏
  • 举报
回复
re: lcp(dupi)

呵呵,纠正一下,strncpy和memcpy都不会在后面追加'\0'!
idontlikenickname 2003-07-17
  • 打赏
  • 举报
回复


to:junglesong(在黑暗中举起探索的火炬)
memset不就是这个作用吗? :)

junglesong 2003-07-17
  • 打赏
  • 举报
回复
to stukov2002(卡拉是头猪) :
memset(b, 0, 10);
memcpy(b, a + 5, 10);

还要加上一句:
b[10]='\0';
否则会连续打印栈内存的内容直到遇到'\0'。
六月初六 2003-07-16
  • 打赏
  • 举报
回复
<原形>*memccpy(void *dest,void *str,int c,size_t n)
<位置>mem.h string.h
<说明>拷贝str c位置以后大小为n的数据到dest
<环境>tc2.0
idontlikenickname 2003-07-16
  • 打赏
  • 举报
回复


使用库函数:
strncpy(b, a + 5, 10);
或者:
memset(b, 0, 10);
memcpy(b, a + 5, 10);

bigtea 2003-07-16
  • 打赏
  • 举报
回复
自己写一个
void strncpy(char * dest,char * src,int start,int n)
{


src=src+start-1;
while ( (* dest++ = * src++) && n-1)
n--;
* dest='\0';
}
main()
{
char a[] = "dlkfigjchduejffasdf";
char b[20]={'\0'};

strncpy(b,a,5,10);
printf("%s\n",b);
}

70,005

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧