c++, strcpy如何实现名字中间可以输入空格

xjtlu_joe 2009-04-13 08:36:54
strcpy(name,name_in);

如上,程序输入一个字符串就没有问题,如:jackin
但是输入 james bond,中间有空各就不行了,望高手指教。。。。
c++初学者。。。。
...全文
410 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
freestyIe 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 allisc 的回复:]
#include <iostream>
using namespace std;

int main () {
char name[256];

cout < < "Enter your name: ";
cin.getline (name,256);

cout < < name < < endl;

return 0;
}
[/Quote]
正解~
hylove9494 2009-04-13
  • 打赏
  • 举报
回复
cin.getline(); // 接受一个字符串,可以接收空格并输出
memcpy(); // 同上
fairchild811 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jackyjkchen 的回复:]
memcpy,既然都是不安全代码,我干脆就用更底层的,不管是空格还是/0,全部通吃
[/Quote]

up
tangxu12 2009-04-13
  • 打赏
  • 举报
回复
memcpy(str,"Jack Chen",9);
jackyjkchen 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xjtlu_joe 的回复:]
引用 3 楼 jackyjkchen 的回复:
memcpy,既然都是不安全代码,我干脆就用更底层的,不管是空格还是/0,全部通吃


额。。。memcpy 不会用。。。可以举个例子吗?如果我想用新的名字(“Jack Chen")代替原来的,怎么弄?
[/Quote]

char *str;
str = new char[strlen];
memcpy(str,"Jack Chen",9);
allisc 2009-04-13
  • 打赏
  • 举报
回复
strcpy并不会丢失空格.

void * memcpy ( void * destination, const void * source, size_t num );



#include <stdio.h>
#include <string.h>

int main ()
{
char str1[]="Sample string";
char str2[40];
char str3[40];
memcpy (str2,str1,strlen(str1)+1);
memcpy (str3,"copy successful",16);
printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
return 0;
}

xjtlu_joe 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jackyjkchen 的回复:]
memcpy,既然都是不安全代码,我干脆就用更底层的,不管是空格还是/0,全部通吃
[/Quote]

额。。。memcpy 不会用。。。可以举个例子吗?如果我想用新的名字(“Jack Chen")代替原来的,怎么弄?
xjtlu_joe 2009-04-13
  • 打赏
  • 举报
回复
非常感谢!
jackyjkchen 2009-04-13
  • 打赏
  • 举报
回复
memcpy,既然都是不安全代码,我干脆就用更底层的,不管是空格还是/0,全部通吃
allisc 2009-04-13
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

int main () {
char name[256];

cout << "Enter your name: ";
cin.getline (name,256);

cout << name << endl;

return 0;
}
allisc 2009-04-13
  • 打赏
  • 举报
回复
不要用cin>>,用getline

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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