21xrx.com
2024-11-05 16:26:06 Tuesday
登录
文章检索 我的文章 写文章
使用C++实现动态输入指定长度的字符串
2023-07-03 16:41:25 深夜i     --     --
C++ 动态输入 指定长度 字符串

在C++中,可以使用string或者char数组来存储字符串。其中,string是一个类,有着许多方便的方法,而char数组则是一种传统的方式。

首先,我们可以使用string来实现动态输入指定长度的字符串。代码如下:


#include <iostream>

#include <string>

using namespace std;

int main() {

  int len;

  cout << "请输入字符串长度:";

  cin >> len;

  string str(len, ' ');  // 定义一个长度为len的字符串,内容用空格填充

  cout << "请输入字符串:" << endl;

  cin.ignore();  // 忽略之前的回车

  getline(cin, str); // 输入字符串

  cout << "你输入的字符串是:" << str << endl;

  return 0;

}

在上面的代码中,我们首先通过输入来获取指定长度的字符串。然后,定义了一个长度为len的字符串,内容用空格填充。接着,使用getline()函数来动态输入字符串。由于getline()函数会读取之前的回车符,所以需要使用cin.ignore()函数来忽略之前的回车符。

另外,char数组也可以用来存储字符串。代码如下:


#include <iostream>

using namespace std;

int main() {

  int len;

  cout << "请输入字符串长度:";

  cin >> len;

  char str[len + 1]; // 定义一个长度为len+1的字符数组,用来存储字符串

  cout << "请输入字符串:" << endl;

  cin >> str;

  cout << "你输入的字符串是:" << str << endl;

  return 0;

}

在上面的代码中,我们定义了一个长度为len+1的字符数组来存储字符串。其中,+1是为了留出一个位置来存储字符串的结尾符'\0'。然后,使用cin来输入字符串。

最后,需要注意的是,在使用char数组存储字符串时,要判断输入的字符串长度是否超过了数组的长度,否则可能会发生数组越界的问题。

总而言之,无论使用string还是char数组,都可以实现动态输入指定长度的字符串。具体选择哪种方式,需要根据实际情况进行判断。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复