高手请进

ly309431053 2009-04-07 11:22:22
#include "stdafx.h"
#include <cstring>
#include <string>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
const char *cp1="mary an linda";
const char *cp2="are friends.";
size_t len=strlen(cp1)+strlen(cp2);
char *result_str=new char[len+1];
char *p=*result_str;
while(*p)
cout < <*p++ < <endl;
strcpy(result_str,cp1);
strcpy(result_str,cp2);
delete [] result_str;
const string str1("mary an linda");
const string str2("are friends.");
string result_str1;
result_str1=str1;
result_str1+=str2;

return 0;
}

这程序运行不了,那里出错啊?怎么修改?怎么样把result_str1(这个要直接输出,不用循环语句)输出呢?请各位帮帮忙谢谢


...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hityct1 2009-04-08
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include <cstring>
#include <string>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
const char *cp1="mary and linda";
const char *cp2="are friends.";
size_t len=strlen(cp1)+strlen(cp2);
char *result_str=new char[len+2];


strcpy(result_str,cp1);
strcat(result_str," ");
strcat(result_str,cp2);
//strcat(result_str,"\0");

char *p=result_str;
cout<<p<<endl;


delete [] result_str;

return 0;
}


cout<<p<<endl;会输出字符串,而不是字符。
mengde007 2009-04-07
  • 打赏
  • 举报
回复
while(*p)
cout < <*p++ < <endl;
这个改一下:cout<<p;
result_str1也一样;不都是char*行的吗,
mengde007 2009-04-07
  • 打赏
  • 举报
回复
char *p=result_str;

65,210

社区成员

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

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