Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使字符数组与输入大小相同(或者可以使用字符串库而不是C样式的数组字符串)? P> >我对C++不是很新,但我兴奋地通过了所有的教程,现在我要回去,并实际运用我的知识,并建立它。我一直在研究一种小型加密算法;没有什么特别的,只是输入、加密并输出到命令提示符窗口_C++_C_String_Arrays - Fatal编程技术网

如何使字符数组与输入大小相同(或者可以使用字符串库而不是C样式的数组字符串)? P> >我对C++不是很新,但我兴奋地通过了所有的教程,现在我要回去,并实际运用我的知识,并建立它。我一直在研究一种小型加密算法;没有什么特别的,只是输入、加密并输出到命令提示符窗口

如何使字符数组与输入大小相同(或者可以使用字符串库而不是C样式的数组字符串)? P> >我对C++不是很新,但我兴奋地通过了所有的教程,现在我要回去,并实际运用我的知识,并建立它。我一直在研究一种小型加密算法;没有什么特别的,只是输入、加密并输出到命令提示符窗口,c++,c,string,arrays,C++,C,String,Arrays,问题是,我创建了一个包含9个变量的字符数组。然后我使用cin.getline(array,8)获得最多8个字符的用户输入。如果我正好输入8就好了。但是,如果我输入更少,那么在输入的单词的末尾会有随机字符 所以,我想知道是否有一种方法可以创建一个与输入的字符大小相同的数组?或者,更好的是,有什么方法可以使用C++字符串库来加密算法?我不知道如何改变C++字符串的单个字符,而不将它转换成字符数组,因此我几乎回到了开始的地方。p> 我知道这可能是一个愚蠢的问题,但我已经两次回到了基础,在匆忙地完成了所

问题是,我创建了一个包含9个变量的字符数组。然后我使用cin.getline(array,8)获得最多8个字符的用户输入。如果我正好输入8就好了。但是,如果我输入更少,那么在输入的单词的末尾会有随机字符

所以,我想知道是否有一种方法可以创建一个与输入的字符大小相同的数组?或者,更好的是,有什么方法可以使用C++字符串库来加密算法?我不知道如何改变C++字符串的单个字符,而不将它转换成字符数组,因此我几乎回到了开始的地方。p> 我知道这可能是一个愚蠢的问题,但我已经两次回到了基础,在匆忙地完成了所有我不理解的事情之后,所以我真的想确保这次我知道所有的事情


任何帮助都是非常感谢的:)

我的建议是让它保持现有的状态;但请确保在使用数组中的字符时,在到达终止零时停止。因此,加密算法(或您正在编写的任何其他算法)每次从数组中读取字符时都需要检查零。在C或C++中,这是一种处理字符数据的标准方法。

< P>可以调用<代码> CIN。GCONTUTE()/CUD>获取在数组中读取的实际字符数。 请参见

#包括
int main()
{
std::cout>密码;
对于(int i=0;istd::cout啊,非常感谢:)但是现在由于某种原因,字符串的前面在算法的中途下降了。输出在这里,程序在这里。知道为什么会发生这种情况吗?因为如果
i
足够大,右移
i
位会将所有内容都移开,并将字符变为零。然后你输出它,
哦,我完全忘记了:/嗯,我用+替换了>>,现在一切都很好。谢谢你的帮助,我真的很感激。谢谢,但是我不需要已经制作了数组来输入字符吗?虽然我可以复制到一个新的数组中,我想。
#include <iostream>

int main()
{
    std::cout << "Enter Password: ";

    std::string password;
    std::cin >> password;

    for (int i = 0; i < password.length(); ++i)
    {
        // a std::string can be accessed like a c-style array
        std::cout << "password[" << i << "] = " << password[i] << std::endl;
    }
}