getline的字符串读入

也许是最近模拟题打多了的缘故,我发现自己渐渐变得比较毒瘤起来,当然这也是有一定的好处的,因为从中我也学到了一些处理字符串的正确姿势,今天我们就来讲一 讲如何用函数getline来读入一整行字符串进行处理。或者他的一些变体。

首先我们先需要知道为什么我们要学习这个函数,是这样的,相信大家都应该知道以前有一个函数叫做gets,这个函数非常的好用,你可以非常快捷的使用他来进行一整行字符串的输入,但是这个函数不知道为什么在正式的比赛中,很容易使用它而导致挂掉,而又因为最基本的读入getchar本人在写的时候,也经常会出现一些意想不到的错误,所以我们急需一个可以既安全的能够读入字符串的函数,又并不是非常的难书写,这里就要引入getline了。

因为string类型非常的慢,所以考试的时候我们基本上不用,这个类型,所以说我们只需要掌握一下,getline关于字符串(char)类型的输入就可以了。然后这个其实也还是非常的简单的。

getline这个函数是属于iostream库的,然后我们只需要在代码中写这一句话即可

cin.getline(字符串名,字符串大小,*条件)

然后这个关于条件这个东西,一般不填,如果不填,默认读到回车时结束,如果填了,那么 就会读到你想要指定的那个字符前停止读入。

标准代码如下:

#include<iostream>
using namespace std;
char ch[1024];
int main()
{
    cin.getline(ch,1024,‘E‘);
        cout<<ch;
    cout<<"A";
}

运行结果:

相信大家应该都会使用getline了。

谢谢采纳!

原文地址:https://www.cnblogs.com/mudrobot/p/9142431.html

时间: 2024-11-11 16:48:46

getline的字符串读入的相关文章

--字符串读入

E - Hardwood Species Time Limit:10000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 2418 Description Hardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go

C/C++如何整行读入字符串?

在写代码的过程中,经常要一行一行的读入字符串进行处理,这里我总结了一些方法,供大家参考. 方法一:scanf()读入char[] 使用方法: char str[1024]; scanf("%[^\n]",&str); getchar(); 说明:在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串. 其实scanf函数也可完成这样的功能,而且还更强

C++ STL map A1022. Digital Library(30) (注意字符串的读入)

#include <bits/stdc++.h> #include<math.h> #include <string> using namespace std; //5个map变量分别建立书名,作者,关键词,出版社及出版年份与id的映射关系 map<string,set<int>> mpTitle,mpAuthor,mpKey,mpPub,mpYear; void query(map<string,set<int>>&am

getline()函数详解--转自黄昏飘雪的那夏

本文转自黄昏飘雪的那夏,原作者www.cnblogs.com/overcode 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”.书上给的程序如下: int main() { string line: while(getline(cin,line)) cout<<line<<endl; return 0; } 大家会发现运行时怎么也跳不出循环,甚至会发生各种莫名其妙的错误.这是为什么

getline()函数的功能

getline函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似.即    cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符) [例13.7] 用getline函数读入一行字符. #include <iostream> using namespace std; int main( ) { char ch[20]; cout<<"enter a sentence:"<<endl; cin>>c

getline()函数

这是c++中 getline()的原型是istream& getline ( istream &is , string &str , char delim ); 其中 istream &is 表示一个输入流,譬如cin:string&str表示把从输入流读入的字符串存放在这个字符串中(可以自己随便命名,str什么的都可以):char delim表示遇到这个字符停止读入,在不设置的情况下系统默认该字符为'\n',也就是回车换行符(遇到回车停止读入). 那么如果把get

20140917 C++学习之字符串

摘要: 本文试着比较c++字符串与C风格字符串,主要讨论的是c++中的字符串的简单操作. 1.C风格字符串的主要操作与缺陷; 主要操作有: strlen (求长度).strcpy(复制字符串) .strcmp(比较字符串大小).strcat(字符串连接).strstr(寻找子字符串) C标准库实现: char str1[20] = "hello"; //必须有足够大的容量. char str2[6] = "world!"; 1).strcat str1 = strc

C++的输入输出流简单总结【字符串】

1.istringstream.ostringstream.stringstream 类介绍 (1)基于控制台的输入输出 iostream对流进行读写,由istream和ostream派生. (2)基于文件的输入输出 头文件为fstream,ifstream从文件中读取,由istream派生.ofstream写到文件中去,由ostream派生,fstream对文件进行读写,由iostream派生. (3)基于字符串的输入输出 istringstream从string对象中读取,由istream派

C++获取字符cin,getchar,get,getline的区别

原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5241544.html 1.cin>> 1)最常见的是获取输入的一个字符或数字,如 int a,b; cin>>a>>b: 注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等).若不想过滤掉空白字符,可以用noskipws流进行控制. 如下程序,没有过滤掉不可见字符,输入的空格字符存入了input[1]中,也可输出. 2)获取输入的字符串,可以用数