开发者社区 问答 正文

C++用已存在字符串中的n个字符初始化另一个字符串怎样写最简单

假设字符串 char *p,p中有100个字符,我想用其中前20个初始化一个string,但是不能改变原来的字符串p,该怎么写最简单呢?
自己写来写去总是觉得很绕

展开
收起
a123456678 2016-03-05 16:36:46 2392 分享 版权
1 条回答
写回答
取消 提交回答
  • 代码最简单:

     char * newchar = new char[101];
    strncpy(newchar, p, 100);
    newchar[21] = '\0';
    string * s = new string(newchar);
    2019-07-17 18:53:45
    赞同 展开评论
问答分类:
C++
问答地址: