我们都知道c/c++中的输入输出方式比较多这里只是简单的列举几个常用的!
c:
在c语言中使用比较多的输入输出就是:
标准输入输出 : scanf() 和printf()
#include<stdio.h>void tell(){
int a,b;
printf("请输入值!");
//这里输入的是整数类型d表示整数,如果是浮点数等可以写成f/d等。
printf("a=%d b=%d",a,b);
}
void main(){
tell();
}
//输入字符类型
#include<stdio.h>
void tell(){
int a,b;
printf("请输入值!");
scanf("%c,%c",&a,&b);//在c语言中要求在输入的时候前面使用什么符号隔开在输入的时候就是用什么符号隔开!
printf("a=%c b=%c",a,b);
}
void main(){
tell();
}
//输入字符串
#include<stdio.h>
void tell(){
char a[10],b[15];
printf("请输入值!");
//数组的首字母代表了这个数组的地址所以不用取地址运算符(&);
scanf("%s %s",a,b);//在c语言中要求在输入的时候前面使用什么符号隔开在输入的时候就是用什么符号隔开!
printf("a=%s b=%s",a,b);
}
void main(){
tell();
}
//具体的还有很多细节,比如定义输出的总长度以及小数点的限制等。
c++
首先声明c++是向后兼容c的所以c语言中的写法在c++中完全可以实现;
c++中的输入输出是使用了面向对象的思想既调用通过iostream类的对象以及对象调用相关的方法来实现的;
常用的输入方法列举:
1、cin 、2、cin.get() 3、cin.getline() 4、getline() 5、gets() 6、getchar()
(1) 直接使用cin对象来取得输入的时候不能有空格;
void main(){
void tell(){
char a[10];
char b[20];
cout<<"请输入内容!";
cin>>a>>b;
cout<<a<<"\n"<<b<<endl;
}
}
(2)cin.get()方法来实现时可以有空格
#include<iostream.h>
void main(){
void tell(){
char b[20];
cout<<"请输入内容!";
cin.get(b,15); //get(object,int)object是赋值的变量,而int就是长度输入的长度要比定义的长度小一个因为最后会有一个结束符(\0')。
cout<<a<<"\n"<<b<<endl;
}
}
(3)cin.getline()中可以有空格
#include<iostream.h>
void main(){
void tell(){
char b[20];
cout<<"请输入内容!";
cin.getline(b,15);
cout<<a<<"\n"<<b<<endl;
}
}
(4) getline()和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数
#include<iostream>
#include<string>
using namespace std;
void main () {
string str;
getline(cin,str);
cout<<str<<endl;
}
输入:jkljkljkl //VC6中有个bug,需要输入两次回车。 输出:jkljkljkl
输入:jkljfksldfjjklsjfl 输出:jkljfksldfjjklsjfl
(5)gets() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”
#include<iostream>
#include<string>
using namespace std;
main () {
char m[20];
gets(m); //不能写成m=gets(); cout<<m<<endl;
}
(6)getchar() //接受一个字符,需包含“#include<string>”
#include<iostream>
#include<string>
using namespace std;
void main () {
char ch;
ch=getchar(); //不能写成getchar(ch); cout<<ch<<endl; }
输入:jkljkljkl
输出:j
//getchar()是C语言的函数,C++也可以兼容,但是尽量不用或少用;
既然getline有个小bug,应该尽量少用,不过可以用cin.ignore(100,'\n')来消除输入缓存.