首先大部分函数的详细用法都能在MSDN中找到,自觉查找MSDN是基本素质。
1、scanf() 函数有返回值,输入成功会返回输入元素的个数
例子:Assert( 2==scanf("%s %s", str1, str2) )
2、gets() 和 scanf("%s",...) 的区别
gets() 在从文件输入的时候(stdin 也看成文件),读入以 '\n' 为结尾的字符串,并吃掉 '\n';而scanf 则读入以空格为端点的串(空格不读入,也不吃掉)
3、cout 与 printf 区别
①printf为函数,cout是ostream的对象,和<<配合使用。
②printf为变参函数,没有类型检查,不安全;cout是通过运算符重载实现的,安全操作。
③printf碰到自定义类型无法输出;cout可自行重载进行扩展。
④cout将输出结果存放到缓冲区,然后一次性输出,cout的实现调用了printf。
⑤cout<<"\n"; 与 cout<<endl 不同。\n 为字符,endl会将缓冲区的数据全部输出并清零。
4、编译器和操作系统的差异导致:一般long long 的输出采用 cout,如果平台运行可以使用 printf("%lld"),一般基于linux系统的编译器都支持,unsigned long long 使用 "%llu"
5、部分输入需要过滤前导空格,可以采用这种用法:scanf("%d..");// 只要在前面加个空格,就会将输入流中的空格回车tab 滤掉,然后再读入,对于尾部空格也适用。
6、cin.get 可以接受字符,也可以接受字符串(此时可以容纳空格、tab);无参数时,cin.get(),仅返回第一个字符的ASCII码:int a=cin.get();输入:1234回车,a=49(a的ASCII码)
7、cin.getline 接受字符串,同cin.get 接受字符串时用法相似。但是需要注意:getline函数有三个参数,最后一个参数默认为 '\0',表示输入的结尾字符,一般情况下省略。
8、getline()函数,该函数使用需要包含 #include<string>,可以接受空格并输出。一般可以这样使用:string str; getline(cin, str);//即输入到字符串str中。
9、gets()。接受字符串,可容纳空格,需包含 #include<string>。
10、最后,大部分的字符处理函数都存在于 <string>中,需要时在其中查找。
首先大部分函数的详细用法都能在MSDN中找到,自觉查找MSDN是基本素质。
1、scanf() 函数有返回值,输入成功会返回输入元素的个数
例子:Assert( 2==scanf("%s %s", str1, str2) )
2、gets() 和 scanf("%s",...) 的区别
gets() 在从文件输入的时候(stdin 也看成文件),读入以 '\n' 为结尾的字符串,并吃掉 '\n';而scanf 则读入以空格为端点的串(空格不读入,也不吃掉)
3、cout 与 printf 区别
①printf为函数,cout是ostream的对象,和<<配合使用。
②printf为变参函数,没有类型检查,不安全;cout是通过运算符重载实现的,安全操作。
③printf碰到自定义类型无法输出;cout可自行重载进行扩展。
④cout将输出结果存放到缓冲区,然后一次性输出,cout的实现调用了printf。
⑤cout<<"\n"; 与 cout<<endl 不同。\n 为字符,endl会将缓冲区的数据全部输出并清零。
4、编译器和操作系统的差异导致:一般long long 的输出采用 cout,如果平台运行可以使用 printf("%lld"),一般基于linux系统的编译器都支持,unsigned long long 使用 "%llu"
5、部分输入需要过滤前导空格,可以采用这种用法:scanf("%d..");// 只要在前面加个空格,就会将输入流中的空格回车tab 滤掉,然后再读入,对于尾部空格也适用。
6、cin.get 可以接受字符,也可以接受字符串(此时可以容纳空格、tab);无参数时,cin.get(),仅返回第一个字符的ASCII码:int a=cin.get();输入:1234回车,a=49(a的ASCII码)
7、cin.getline 接受字符串,同cin.get 接受字符串时用法相似。但是需要注意:getline函数有三个参数,最后一个参数默认为 '\0',表示输入的结尾字符,一般情况下省略。
8、getline()函数,该函数使用需要包含 #include<string>,可以接受空格并输出。一般可以这样使用:string str; getline(cin, str);//即输入到字符串str中。
9、gets()。接受字符串,可容纳空格,需包含 #include<string>。
10、最后,大部分的字符处理函数都存在于 <string>中,需要时在其中查找。