Hum*_*awi 2 c++ string ascii c++11
被std::string认为是对所有的平台和标准的编译器ASCII编码的一组字符?
换句话说,如果我这样做,我可以确定我的C++程序将获得一组Ascii字符:
std::string input;
std::getline(std::cin, input);
Run Code Online (Sandbox Code Playgroud)
编辑:
换句话说,我想确保如果用户输入,"a0"我将得到一个std::string包含两个元素.第一个是97,第二个是48
号std::string不成立"人物"; 它持有字节.
这些字节可以通过ASCII或EDBCIC或Unicode编码形成一些人类可读的字符串.它们可以是存储计算机可读信息(例如JPEG图像)的二进制编码.它们可能是外星人关于如何连续三周使用Stack Overflow而不被贬低甚至一次的指导.它们可能是完全随机的白噪声.
您的程序需要了解它正在读取的数据实际意味着什么,以及它是如何编码的.这应该是程序员的任务的一部分.
(这是不幸的,现在误导了,这char是命名的char.)
不,不能保证
std::string input;
std::getline(std::cin, input);
Run Code Online (Sandbox Code Playgroud)
将仅返回 ASCII 字符。a 所保存的值的范围char不限于 ASCII 字符。
如果您的平台使用与 ASCII 不同的编码,您显然会得到一组不同的字符。
即使您的平台使用 ASCII 编码,如果char平台上是无符号类型,那么它也可以很容易地保存扩展的 ASCII 字符。
| 归档时间: |
|
| 查看次数: |
1813 次 |
| 最近记录: |