开发者社区 问答 正文

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

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

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

     char * newchar = new char[101];
    strncpy(newchar, p, 100);
    newchar[21] = '\0';
    string * s = new string(newchar);
    2019-07-17 18:53:45 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答分类:
C++
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等