C - 限制字符串长度

新手上路,请多包涵

我想创建一个允许用户创建密码和用户名的程序。但是,密码必须介于 6 到 10 个字符之间。我将如何限制字符输入?另外,如果我希望密码包含大写字母怎么办?

这是到目前为止的程序,让您了解我正在尝试做的事情(注意:我知道程序本身显然尚未完成,但我只想给您一个视觉效果):

 #include <iostream>
#include <string>

int main(int argc, const char * argv[]) {
    // insert code here...

    std::cout << "--------------------------------------------------------------\n";
    std::cout << "          Welcome to the ECE!! Password Proram!\n";
    std::cout << "Username rules: must be 5-10 characters long with no space\n";
    std::cout << "Password rules: must be 6+ characters long\n";
    std::cout << "Must contain one uppercase letter and one number but no space\n";
    std::cout << "--------------------------------------------------------------\n";

    //Let's get our password!
    std::string username;
    std::string password;
    const int

    //use a do while loop for input validation
    do {
        std::cout << "Enter your username: ";
        std::cin >> username;                       //add input validation
    } while ();

    std::cout << "Enter your password:";
    std::cin >> password;
    return 0;
}

原文由 Hassan Kamara 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

由于您使用的是 std::string,因此您可以在获取用户输入并检查大小是否在 5 和 10 的限制范围内后使用 password.size()。如果不是,只需重新向用户查询另一个密码.这最好在一个while循环中完成。以下是更高级别的一些代码示例:

 do{
    std::cout << "Enter your password:";
    std::cin >> password;
}while (password.size() < 6 || password.size() > 10)

你已经用用户名做了类似的事情,所以我有点困惑你是否打算询问密码。

原文由 Travis Primm 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏