C++ //练习 12.24 编写一个程序,从标准输入读取一个字符串,存入一个动态分配的字符数组中。描述你的程序如何处理变长输入。测试你的程序,输入一个超出你分配的数组长度的字符串。

C++ Primer(第5版) 练习 12.24

练习 12.24 编写一个程序,从标准输入读取一个字符串,存入一个动态分配的字符数组中。描述你的程序如何处理变长输入。测试你的程序,输入一个超出你分配的数组长度的字符串。

环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块
/*************************************************************************
	> File Name: ex12.24.cpp
	> Author: 
	> Mail: 
	> Created Time: Fri 19 Apr 2024 10:45:08 AM CST
 ************************************************************************/

#include<iostream>
#include<string>
#include<memory>
using namespace std;

int main(){
    unique_ptr<char[]> strArr(new char[5]);
    string str;
    cout<<"Enter string: ";
    getline(cin, str);

    size_t len = str.length();

    unique_ptr<char[]> newStr(new char[len+1]);
    newStr = move(strArr);
    strArr.release();

    size_t j = 0;
    for(size_t i = 0; i < len; ++i){
        newStr[j++] = str[i];
    }
    newStr[j] = '\0';

    cout<<"String: ";
    for(size_t i = 0; i < len; ++i){
        cout<<newStr[i];
    }
    cout<<endl;
    newStr.release();

    return 0;
}
运行结果显示如下

在这里插入图片描述

相关推荐

  1. 如何读取一个整行字符串

    2024-04-21 10:18:02       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-21 10:18:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-21 10:18:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-21 10:18:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-21 10:18:02       20 阅读

热门阅读

  1. web server apache tomcat11-03-deploy 如何部署

    2024-04-21 10:18:02       17 阅读
  2. 如何防止重复下单

    2024-04-21 10:18:02       15 阅读
  3. 【基础】伐木工

    2024-04-21 10:18:02       14 阅读
  4. 【无标题】

    2024-04-21 10:18:02       10 阅读
  5. Docker

    2024-04-21 10:18:02       14 阅读
  6. Docker

    Docker

    2024-04-21 10:18:02      12 阅读