【发布时间】:2022-08-06 21:24:49
【问题描述】:
所以,基本上我想用 c++ 编写一个程序,通过将字符移动 ascii 表中的随机数来加密文本。但首先我需要用户获取一个字符串。当我想将 c 字符串存储在 char 数组中时,我的问题是我首先需要知道字符串的大小才能在数组中具有正确的大小。我怎样才能在不知道未来的情况下得到它? 提前致谢!
-
如果可以,只需使用
std::string来存储输入。它将处理成为适合您的尺寸。 -
如果您设置为使用 C 字符串,则无法提前知道字符串的大小 - 必须在获得输入之前分配 char 数组,因此您必须为其选择一些(任意)足够大的大小。
-
如果您尝试将
cin与固定大小的char数组一起使用,您可能会遇到缓冲区溢出问题:stackoverflow.com/questions/29477567/using-cin-for-char-array -
#include <string> #include<iostream> std::string input; std::cin >> input;(learncpp.com/cpp-tutorial/introduction-to-stdstring) -
请注意,您可以将
std::string视为chars 的数组,使用[]索引运算符:cplusplus.com/reference/string/string/operator[]