getline(cin,str)与cin.getline(str)的用法

cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度。

getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。

在用getline(cin,str)时需注意,再输入str后需要两个回车才会输出结果,其原因是vc++6.0版本过低,解决办法可以百度,当然也可以换其他编译器,例如:vs!

#include<iostream>
#include<string>
using namespace std;
int main()
{
	char ch[20];
	string str;

	cin.getline(ch,20);
	getline(cin,str);

	cout<<ch<<endl;
	cout<<str<<endl;
}

 

时间: 2024-10-11 14:53:25

getline(cin,str)与cin.getline(str)的用法的相关文章

C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get() 3.cin.getline() 4.getline() 5.gets() 6.getchar() 附:cin.ignore();cin.get()//跳过一个字符,例如不想要的回车,空格等字符 1.cin>>          用法1:最基本,也是最常用的用法,输入一个数字: #includ

基于C++ cin、cin.get()、cin.getline()、getline()、gets()函数的使用详解_C 语言

1.cin 2.cin.get() 3.cin.getline() 4.getline() 5.gets() 6.getchar() 附:cin.ignore();  cin.get()//跳过一个字符,例如不想要的回车,空格等字符 1.cin>>          用法1:最基本,也是最常用的用法,输入一个数字: #include <iostream> using namespace std; main () {    int a,b;    cin>>a>&g

cin.get()和cin.getline()之间的区别_C 语言

cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别. cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列中,比如: 复制代码 代码如下: #include <iostream>using std::cin;using std::cout;const int SIZE = 15;int main( ){cout << "Enter your name:";char

cin详解(get()、getline()、clear()、sync())

简述 在C中,输入输出用scanf和printf,在输入数据的同时还需说明数据的类型,如果输入数据较多,那就很麻烦,而C++中也有相似的东西cin和cout,它们来自C++的一个名叫" iostream"的类库. iostream是由istream(输入流)和ostream(输出流)派生.所以在iostream中就有了输入和输出的相关对象: cin:标准输入(standard input)的istream类对象,cin使我们可以从设备读取数据. cout:标准输出(standard o

【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级

文件重定向 #include<iostream> using namespace std; void main() { char str[30] = { 0 }; cin >> str; cout << str; system(str); cerr << "error for you"; cin.get(); cin.get(); } 键盘输入流 #include<iostream> #include <stdlib.h

iostream-c++中getline的问题 求教

问题描述 c++中getline的问题 求教 #include #include #include int main() { using namespace std; char charr[20]; string str; cout << "Length of string in charr befor input: " << strlen(charr) << endl; cout << "Length of string in

文件重定向,getline()获取一样,屏幕输出流,格式控制符dec,oct,hex,精度控制setprecision(int num),设置填充,cout.width和file(字符),进制输入

 1.在window下的命令重定向输出到文件中 2.将内容输入到某个文件中的方式:命令<1.txt (使用1.txt中的命令) 3.读取文件中的名,然后将命令读取最后输出到文件中.命令<1.txt>2.txt   这一句的作用就是将执行的命令输入到2.txt中. 4.文件重定向案例1 #include <iostream> using namespace std;   void main() {     char str[30] = { 0 };     cin >

c++-关于两次使用getline()只能输入一次的问题

问题描述 关于两次使用getline()只能输入一次的问题 用了两次getline()函数 调试的时候发现第一次根本没有接受输入直接返回ming字串为"" 而第二次可以输入一行字串以回车结束 是为什么呢?? while (cin >> choice){ if (choice == 1){ cout << "输入明文:n"; string ming; getline(cin, ming); cin.sync(); cout << &

对象-getline能否接受自动类型转换?

问题描述 getline能否接受自动类型转换? 这个代码getline接收参数有bug. 我不明白为啥FName1有类型转换函数,getline函数还是不能接受file对象呢,应该能够自动按照ifstream接收呀. 我试了print函数,里面有getline,接收的参数类型是ifstream&,是没有问题的. 本来以为编译器不接受函数参数多次类型转换,但自己试的代码也是没问题的(从一个类型利用operator转换到另一个类型,再转换为基类类型) #include #include #inclu