CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

一个简单的连接字符串的问题

楼主jiudian(九点)2004-05-03 11:54:36 在 C/C++ / C++ 语言 提问

定义一个常量字符串值为hello要求用户输入一个名称,该名称连接在此常量后面,显示为hellomy_name。使用new和delete运算符为该字符串分配和回收内存。  
   
   
  提示:在连接字符串之前,将该常量赋予char*类型的另一个数据成员 问题点数:20、回复次数:5Top

1 楼freefalcon(心宇—消失中...)回复于 2004-05-03 12:09:23 得分 10

#include   <iostream>  
  #include   <string>  
   
   
  using   namespace   std;  
  int   main()  
  {  
  char*   hi   =   "hello";  
  string   my_name;  
   
  cout   <<   "your   name:";  
  cin   >>   my_name;  
  char*   res   =   new   char[strlen(hi)   +   my_name.length()   +   1];  
  strcpy(res,   hi);  
  strcat(res,   my_name.c_str());  
  cout   <<   res;  
  delete   []   res;  
  system("Pause"   );  
  return   0;    
  }  
   
  大杂烩Top

2 楼qyet(少年心气)回复于 2004-05-03 12:26:04 得分 5

//借花献佛:)  
  #include   <iostream>  
  #include   <string>  
   
  using   namespace   std;  
   
  int   main()  
  {  
  char*   hi   =   "hello   ";  
  char   *my_name   =   new   char[100];  
   
  cout   <<   "your   name:";  
  cin   >>   my_name;  
  char*   res   =   new   char[strlen(hi)   +   strlen(my_name)   +   1];  
  strcpy(res,   hi);  
  strcat(res,   my_name);  
  cout   <<   res   <<endl;  
  delete   []   res;  
  delete   []   my_name;  
  return   0;    
  }Top

3 楼jiudian(九点)回复于 2004-05-03 12:33:17 得分 0

写的不错,加点注释吧谢谢,马上会加分  
   
  using   namespace   std;  
   
  char*   res   =   new   char[strlen(hi)   +   my_name.length()   +   1];Top

4 楼cngdzhang()回复于 2004-05-03 12:37:02 得分 5

 
  using   namespace   std;//vc中要用的,tc没有的,意思是使用std命名空间  
   
  char*   res   =   new   char[strlen(hi)   +   my_name.length()   +   1];  
  //分配内存     长度为   "hello"串的长度+用户名字的长度+字符串结束标志'\0'长度1  
  Top

5 楼freefalcon(心宇—消失中...)回复于 2004-05-03 12:42:53 得分 0

#include   <iostream>  
  #include   <string>     //注意这里的头文件都没有带.h后缀,因为用的是标准C++库,带.h的是标准出台以前的库  
  using   namespace   std;   //   标准库引入了名字空间的概念(namespace),必须通过名字空间才能对其中的类和函数等进行访问  
   
  char*   res   =   new   char[strlen(hi)   +   my_name.length()   +   1];   //hi是c风格的字符串,通过c函数strlen获得其长度,my_name是string类实例,直接通过成员函数获得长度,+1是为了多分配一个字节,以供c风格字符串末尾的终止符\0使用  
  Top

相关问题

  • 连接字符串
  • 连接字符串
  • 字符串连接
  • 连接字符串
  • 字符串连接
  • 超级简单问题:怎么连接字符串?
  • 字符串连接问题
  • 字符串的连接
  • ?ODBC连接字符串
  • 字符串连接问题

关键词

  • 函数
  • 连接
  • 字符串
  • 常量
  • strlen
  • res
  • 库
  • 标准
  • cout
  • hello

得分解答快速导航

  • 帖主:jiudian
  • freefalcon
  • qyet
  • cngdzhang

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo