1、
char c = getchar();
输入单个字符,可输入空格、换行符。
2、
cin >> s;
不读取空格或换行符。
3、
getline(cin, s);
输入一行到字符串s,输入包含空格,会读取换行符但是不输入到字符串中。
例:
先输入一个整数,再读取一行到字符串s,再读取一行中空格分开的几个字符串,再读取一行到字符串s。
1 int n; 2 string s; 3 scanf("%d\n", &n); //%d后必须又\n,如果这里不读取换行符,那么下面的getline会读取换行符并将s赋值为空 4 getline(cin, s); 5 while (cin >> s) { 6 char c = getchar(); //可以读取空格或换行符 7 if (c == '\n') break; 8 } 9 getline(cin, s); 10 return 0;
4、
scanf("%c", &c);
会读入换行符。
5、
scanf输入字符串:
char a[50];
scanf("%s", a); //注意不是&a。
注:
vs2013中输入方式为:scanf_s("%s", a, 50);
6、
sscanf(),从一个字符串中读进与指定格式相符的数据,如:
char a[10] = "1.23"
double d;
sscanf(a, "%lf", &d);
7、
sprintf() – 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中,如:
double d = 1.234;
char b[10];
sprintf(b, "%.2lf", d);
便可将1.23写入b中。