一、C++
输入输出流
cin>>是面向单词的输入,而cin.getline()和cin.get()是面向行的输入
面向行的输入的两个函数也会有所不同:
输入队列中的空格会被cin识别,从而隔断输入!!!非常重要,因此当我们输入一行字符串中有空格的话,真实保存到string变量中的只有第一个空格前的字符串
而cin.getlin(字符数组名, 数组长度)会丢弃换行符
而cin.get()会将换行符保留在输入队列中,如果cin.get()之后没有清除输入队列中的换行符,
那么第二次调用cin.get()时看到第一个字符是换行符,get()会认为已经到达行尾,从而不会有输入字符的机会,而被直接跳过
字符串转数值、数值转字符串的函数
字符串转数值:
C++中可以使用以下函数将字符串(注意,并不是单个字符,接收的参数必须是一个字符串)转换为数值(都需要包含在<string>头文件中):
stoi():将字符串转换为整数。
stof():将字符串转换为浮点数。
stod():将字符串转换为双精度浮点数。
stol():将字符串转换为长整型整数。
stoll():将字符串转换为长长整型整数。
stoul():将字符串转换为无符号长整型整数。
stoull():将字符串转换为无符号长长整型整数。这些函数都需要包含头文件。
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "123";
int num = stoi(str);
cout << "The number is: " << num << endl;
return 0;
}
//输出
//The number is: 123
数值转字符串:
C++中可以使用to_string()函数将数字转换为字符串。该函数包含的头文件是<string>。
#include <iostream>
#include <string>
using namespace std;
int main() {
int num = 123;
string str = to_string(num);
cout << "The string is: " << str << endl;
return 0;
}
//输出
//The string is: 123
需要注意的是,to_string()函数只能用于C++11及以上版本。如果使用的是较早的C++版本,可以使用sprintf()函数将数字转换为字符串,不过这个比较难记,需要手动指定格式化字符串。
字符转数值
‘0’-‘9’的字符转为对应的数字,可以直接使用字符的ASCII码值进行计算,例如,由于字符'2'的ASCII码值是50,而数字字符'0'的ASCII码值是48,因此字符'2'对应的整数值是50-48=2。可以使用这个方法将字符'2'转换为整数2。
#include <iostream>
using namespace std;
int main()
{
char c = '2'; // 字符'2'
int num = c - '0'; // 将字符'2'转换为整数2
cout << num << endl; // 输出2
return 0;
}
'a'-'z'、'A'-'Z'对应的字符转换为对应的