精华内容
下载资源
问答
  • C++ 输入字符串

    2019-06-12 11:15:54
    C++ 输入字符串 方法一:cin >> str; 此方法在读取时,会自动忽略开头的空白,并从第一个真正的字符开始读起,直到遇见下一处空白为止。 #include <iostream> #include <string> using namespace...

    C++ 输入字符串

    方法一:cin >> str;
    此方法在读取时,会自动忽略开头的空白,并从第一个真正的字符开始读起,直到遇见下一处空白为止。

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	string str;
    	cin >> str;
    	cout << str << endl;
    	return 0;
    }
    

    在这里插入图片描述
    方法二:使用getline()读取一行字符串

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	string str;
    	getline(cin, str);
    	cout << str << endl;
    	return 0;
    }
    

    在这里插入图片描述
    方法三:使用while语句反复读取
    此方法不适用于第一个字符为空格、换行符、制表符等字符串,会过滤掉字符串中的空格。

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	string str;
    	string word;
    	while (cin >> word)
    	{
    		str = str + word;
    		if (cin.get() == '\n')
    			break;
    	}
    	cout << str << endl;
    	return 0;
    }
    

    在这里插入图片描述
    方法四:使用数组读取

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	string str;
    	char c[100];
    	cin.get(c, 100);
    	str = c;
    	cout << str << endl;
    	return 0;
    }
    

    在这里插入图片描述
    方法五:gets_s()
    此方法可以读取空格

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	string str;
    	char c[100];
    	gets_s(c);
    	str = c;
    	cout << str << endl;
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • C++输入字符串

    万次阅读 2015-04-17 11:48:14
    C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1、cin  2、cin.get()  3、cin....

    学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:最基本,也是最常用的用法,输入一个数字:

    #include <iostream> 
    using namespace std; 
    main () 

    int a,b; 
    cin>>a>>b; 
    cout<<a+b<<endl; 
    }

    输入:2[回车]3[回车] 
    输出:5

    注意:>> 是会过滤掉不可见字符(如 空格 回车,TAB 等) 
    cin>>noskipws>>input[j];//不想略过空白字符,那就使用 noskipws 流控制

    用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束

    #include <iostream> 
    using namespace std; 
    main () 

    char a[20]; 
    cin>>a; 
    cout<<a<<endl; 
    }

    输入:jkljkljkl 
    输出:jkljkljkl

    输入:jkljkl jkljkl       //遇空格结束 
    输出:jkljkl

    2、cin.get()

    用法1: cin.get(字符变量名)可以用来接收字符

    #include <iostream> 
    using namespace std; 
    main () 

    char ch; 
    ch=cin.get();               //或者cin.get(ch); 
    cout<<ch<<endl; 
    }

    输入:jljkljkl 
    输出:j

    用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格

    #include <iostream> 
    using namespace std; 
    main () 

    char a[20]; 
    cin.get(a,20); 
    cout<<a<<endl; 
    }

    输入:jkl jkl jkl 
    输出:jkl jkl jkl

    输入:abcdeabcdeabcdeabcdeabcde (输入25个字符) 
    输出:abcdeabcdeabcdeabcd              (接收19个字符+1个'\0')

    用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.

    这个我还不知道怎么用,知道的前辈请赐教;

    3、cin.getline()   // 接受一个字符串,可以接收空格并输出

    #include <iostream> 
    using namespace std; 
    main () 

    char m[20]; 
    cin.getline(m,5); 
    cout<<m<<endl; 
    }

    输入:jkljkljkl 
    输出:jklj

    接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;

    如果把5改成20: 
    输入:jkljkljkl 
    输出:jkljkljkl

    输入:jklf fjlsjf fjsdklf 
    输出:jklf fjlsjf fjsdklf

    //延伸: 
    //cin.getline()实际上有三个参数,cin.getline(接受字符串的看哦那间m,接受个数5,结束字符) 
    //当第三个参数省略时,系统默认为'\0' 
    //如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk

    当用在多维数组中的时候,也可以用cin.getline(m[i],20)之类的用法:

    #include<iostream> 
    #include<string> 
    using namespace std;

    main () 

    char m[3][20]; 
    for(int i=0;i<3;i++) 

    cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl; 
    cin.getline(m[i],20); 
    }

    cout<<endl; 
    for(int j=0;j<3;j++) 
    cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;

    }

    请输入第1个字符串: 
    kskr1

    请输入第2个字符串: 
    kskr2

    请输入第3个字符串: 
    kskr3

    输出m[0]的值:kskr1 
    输出m[1]的值:kskr2 
    输出m[2]的值:kskr3

    4、getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”

    #include<iostream> 
    #include<string> 
    using namespace std; 
    main () 

    string str; 
    getline(cin,str); 
    cout<<str<<endl; 
    }

    输入:jkljkljkl 
    输出:jkljkljkl

    输入:jkl jfksldfj jklsjfl 
    输出:jkl jfksldfj jklsjfl

    和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数

    展开全文
  • c++ 输入字符串时常见的一些问题

    对于上一篇文章所叙述的问题,这里你有一个解决的办法,而是使用istream中的类(cin)提供的面向行的类成员函数:getline() ,get(),这两个函数都是读取一行字符,读到换行符的时候结束。先看看使用getline()的效果:


    接下来再试试看,get()的效果:


    这个时候发现,我们还没来得及输入食物就进行输出了,这是什么原因呢?

    原因就在于getling()在进行输入时会自动丢弃换行符,并用空白符取代,而get()在进行行输入的时候不会丢弃换行符的时候,而是将换行符保存在输入队列中,所以当下次再调用get()函数的时候就读到了输入队列中的换行符,认为到达了行尾从而没有发现任何可读取的内容,对应的解决办法如下:



    多出的get()帮我们读取了输入队列里的换行符。当然了也可以写成cin.get(name ,name_size).get();因为cin.get(name ,name_size)返回一个cin对象,而我们呢随后会对这个cin对象做get()处理。对应的上面的getline()的例子就又可以写成cin.getline(name,name_size).getline(food,food_size);

    展开全文
  • //输出一个整数,表示输入字符串最后一个单词的长度。 //输入:hello nowcoder 输出:8 #include <string> #include<iostream> using namespace std; void test1() { cout << "请输入一行字符串...
    //计算字符串最后一个单词的长度,单词以空格隔开。
    //输入一行,代表要计算的字符串,非空,长度小于5000。
    //输出一个整数,表示输入字符串最后一个单词的长度。
    //输入:hello nowcoder  输出:8
    #include <string>
    #include<iostream>
    using namespace std;
    void test1()
    {
    	cout << "请输入一行字符串:(按回车结束输入)" << endl;
    	string arr;
    	getline(cin,arr);		
    	int len = arr.length();
    	int j=-1;
    	for (int i = len; i>0; i--)
    	{	
    		if (isspace(arr[i]) == 0)
    		{
    			j++;
    		}
    		else
    		{
    			break;
    		}
    	}
    	cout <<"输出最后一个单词的长度为:"<< j << endl;
    	}
    
    int main()
    {
    	test1();
    	return 0;
    }
    
    展开全文
  • C++输入字符串的几种方式

    万次阅读 多人点赞 2019-05-10 10:20:21
    最近有复习到 C++ 基础知识,这里总结下在 C++输入字符串的几种方式,有需要的可以参考: 1、cin >> void Cin1() //输入一个数字 { int a, b; cin >> a >> b; cout << "a + ...
  • c++输入字符串和数字以逗号隔开

    千次阅读 2020-09-02 21:09:54
    以一个问题为例对“c++输入字符串和数字以逗号隔开”进行具体说明。 例:实现一个学生信息处理程序,计算一个学生的四年平均成绩。 要求实现一个代表学生的类,并且类中所有成员变量都是【私有的】。 补充下列...
  • 9. 回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读...说明:本题中,我们将空字符串定义为有效的回文串。输入: "A man, a plan, a canal: Panama" 输出: true 输入: "race a car...
  • c++输入字符串的多种方法总结

    万次阅读 多人点赞 2017-03-24 11:46:14
    c++字符串输入
  • C++ 输入字符串按字典顺序排序

    千次阅读 2019-10-08 18:44:00
    C++输入字符串的几种方法 C++ 字符串与字符数组 详解 #include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; void PrintF...
  • 三)多种格式输入:scanf函数:格式化输入函数,即按控制字符串内指定的各种格式,从键盘上把数据输入到指定的变量之中。格式:int scanf( const char *format [,argument]... );a)与printf相同之处是:控制字符串内...
  • 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串输入样例:Hello World!输出样例...
  • 844. 比较含退格的字符串给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例1 :输入:S = "ab#...
  • c++输入字符串问题

    2019-07-08 18:00:59
    为使程序可以在各种环境下不乱码,用SetConsoleOutputCP调整字符集,SetConsoleCP使输入字符集与OutputCP一致,但输入中文后cout无输出,字符串正常 注释掉SetConsoleCP依旧,而且字符串经过cin后为空
  • C++输入字符串string类型的常用方法

    千次阅读 2020-04-18 16:42:46
    cin输入字符串不能有空格 string str; cin>>str; 当执行上述语句时,若输入“hello world!”,则只会输出hello。 因为cin语句输入时,遇空格结束,不能用cin输入多个单词。 解决办法: ①getline(cin,str)...
  • C++输入字符串的问题

    2015-11-30 01:02:33
    关于C++输入字符串的问题,大概简单的有这样几种吧,比如对应的要输出this is a string/   #include #include "string" int main() { char s[20]; for(int i=0;i;i++) { s[i] = getchar(); } std::cout...
  • 很easy的题目,对字符串的处理,基础题。代码如下,请大神指导,谢谢。 #include #include using namespace std; int main(void) { string str;... //接收输入字符串 cout<<"please input a string:
  • C++输入字符串以换行结束

    千次阅读 2019-09-24 14:51:36
    #include "pch.h" #include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); cout << str << endl;...#include ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,820
精华内容 4,328
关键字:

c++输入字符串

c++ 订阅