精华内容
下载资源
问答
  • 前言字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格字符串更是十分常见,现在对字符串输入问题进行一下总结。C++用cin输入的时候会忽略空格以后的字符,比如char a[100];cin>>a;C++用cin输入...

    前言

    字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结。

    C++用cin输入的时候会忽略空格以后的字符,比如

    char a[100];

    cin>>a;

    C++用cin输入的时候会忽略空格以后的字符,输入"hello world"输出的是"hello";

    如果用循环输入

    for(int i=0;i<100;i++)

    {

    cin>>a[i];

    }

    这样输入100个数吗?或者定义一个n,提前知道字符有多长,让i

    这里可以用cin.getline(a,100);解决,这个函数是默认输入回车表示输入结束。

    下面一道例题:输入hello world,输出dlrow olleh,参考答案

    #include

    using namespace std;

    int main()

    {

    char a[20];

    for(int i=0;i<20;i++)

    { a[i]='\0';}

    cin.getline(a,20);

    // cin>>a;

    cout << a<

    for(i=sizeof(a)-1;i>=0;i--)

    {

    if(a[i]!='\0')

    cout<

    }

    return 0;

    }

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    小编个人微信号 jb51ccc

    喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

    展开全文
  • C++ 【如何输入带空格字符串

    千次阅读 2021-03-03 17:57:30
    2、scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格输入不同组之间的间隔和结束符号,所以输入带空格,tab或者回车的字符串是不可以的。 二、解决办法 getline()(包含头文件#.

    一、问题

    遇到字符串的算法题,经常会有这样一种情况出现:

    定义一个字符串a,

    假如我们要让a = "hello world",

    这个字符串里是有空格的,

    但是对于最常用的两种输入却无法满足:

    1、cin是C++中最常用的输入语句,但是当遇到空格或者回车键,输入流即停止。

    2、scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格是输入不同组之间的间隔和结束符号,所以输入带空格,tab或者回车的字符串是不可以的。

    二、解决办法 

    getline()(包含头文件#include <string>)

    比较常用。

    若定义变量为string类型,则要考虑getline()函数。用法如下:

    string a;
    getline(cin, a);

     

    展开全文
  • C++ 带空格字符串输入与分割

    千次阅读 2021-03-15 22:37:12
    C++ 带空格字符串输入与分割 今天刷到一个字符串的题,卡了我好几个小时,做到后来都开始怀疑自己了,明明是道不怎么难的题怎么被我搞那么久,心痛啊! 废话不多说,下面就把本次惨痛教训中学到的知识点列出来 ...

    C++ 带空格字符串的输入与分割

    今天刷到一个字符串的题,卡了我好几个小时,做到后来都开始怀疑自己了,明明是道不怎么难的题怎么被我搞那么久,心痛啊!
    废话不多说,下面就把本次惨痛教训中学到的知识点列出来

    带空格的字符串输入

    在C++中,常用的输入方式cin默认的分隔符非常多,其中就包括空格,所以不能直接用cin输入带空格的字符串,不然会被系统自动分成好几个字符串。正确输入带空格的字符串的方法如下:

    1. 使用getline函数
      对于字符数组,调用方法为
    cin.getline(str,len);
    

    其中str为数组名,len为要输入的字符串长度,回车键输入的换行符为结束标志

    对于string类型,调用方法为

    getline(cin,str);
    
    1. 使用cin.get()
      对于字符数组,调用方法如下
    cin.get(str,len);
    

    字符数组两种方式中,getline会自动去除换行符,而get会将换行符留下

    字符串结束标志

    有两种方法判断字符串的结束标志:

    1. 字符串以’\0’为结束
    2. 根据字符串长度判断是否结束
      获取字符串长度的方法:str.length()

    字符串分割

    1. 使用stringstream
    string s;
    getline(cin,s);
    stringstream ss;
    ss<<s;
    string p;
    while(ss>>p){
    	cout<<p<<endl;
    }
    
    1. 使用strtok函数
      调用方法:
    char* strtok(char* str,const char* delim)
    

    str是要分割的字符串,delim是分割字符串

    1. 使用substr函数
      调用方法:
    str.substr(pos,n);   //pos是开始分割的位置,n是要分割的位数
    
    1. 自己写
      本菜鸟并不知道有这么多那么香的方法,于是自己写了个函数,贴出来给你们看看叭!
    vector<string> isWord(string str) {
    	vector<string> words;
    	int t = 0,i=0,w=0;
    	string word;
    	while(i < str.length()) {
    		while(str[i] == ' ')
    			i++;
    		t = i;
    		w = 0;
    		while (str[i] != ' '&&i < str.length())
    		{
    			i++;
    			w++;
    		}
    		word = str.substr(t,w);
    		words.push_back(word);
    	}
    	return words;
    }
    

    就酱啦~

    展开全文
  • C++输入空格分割的字符串

    千次阅读 2021-06-18 11:40:10
    C++输入空格分割的字符串 昨天vivo提前批笔试,败在了输入输出处理上面,真是给自己菜吐了。 题目要求处理的输入是:一个未知长度的数组以字符串的形式展示,并且每两个数中间以空格分割。给个例子: 123 234 234 ...

    C++输入以空格分割的字符串

    昨天vivo提前批笔试,败在了输入输出处理上面,真是给自己菜吐了。
    题目要求处理的输入是:一个未知长度的数组以字符串的形式展示,并且每两个数中间以空格分割。给个例子:

    123 234 234 56 56 76554
    

    注意,这是个字符串。
    处理的代码如下:

    #include <iostream>
    #include <string>
    #include <vector>
    using namespace std;
    int main() { 
        vector<int> num;
        string tem;
        while (cin >> tem) {
            num.push_back(stoi(tem));
            cout << stoi(tem) << ' ';
            if (cin.get() == '\n') break;
        }
        return 0;
    }
    

    其中stoi()函数是将字符串转换成整型的函数。
    如果题目给的是以空格分割的数组,那就用不到这个函数。

    虽然vivo笔试大概率凉了,但是为以后的笔试解决了一个问题,还算有收获吧。

    展开全文
  • 关于在C++字符串输入整理笔记1. cincin是C++中最常用的输入语句,当遇到空格或者回车键即停止如:#include #include using namespace std;int main(){chara[50];cin>>a;cout<return0;}输入:abcd遇回车...
  • 关于C++读取带空格字符串的方法,你知道哪些呢? 1. cin cin是C++中最常用的输入语句,当遇到空格或者回车键即停止 如: #include <iostream> #include <string> using namespace std; int main...
  • 1、scanf函数(包含头文件#include )scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格输入不同组之间的间隔和结束符号,所以输入带空格,tab或者回车的字符串是不可以的。解决方法如下:1. 利用格式符...
  • 输入带空格字符串 需要用到 getline(cin,str);具体在代码中看 2:上码 #include<bits/stdc++.h> using namespace std; int main(){ vector<string>v1; for( int i = 0; i < 2; i++ ) { ...
  • 文章目录输入带空格字符串1.正则表达式scanf("%[^\n]]",str)2. gets函数区别3.getline(cin,string str)区别4.cin.getline(char *str, int maxnum,char)区别 输入带空格字符串 1.正则表达式scanf("%[^\n]]",str) 需要...
  • 项目需要从控制台输入16进制数发送给下位机。 使用getline()时碰到的小问题,记录一下。 getline()函数跳过执行,因为键盘输入时,是先输入输入缓冲区的,回车结束后,系统只把回车前的数据给出去,而回车还在缓冲...
  • C语言输入带空格字符串

    千次阅读 2021-05-19 10:27:09
    不能接收带空格字符串输入,虽然它的指定长度是10, 但是遇到空格时即使没有满10个字符它也自动结束输入了。所以:1.用 gets() 可以读取空格, 直到回车才会结束输入char str[80];gets(str); //可以读取空格, ...
  • string stting; getline(cin, stting);
  • 关于在C++字符串输入整理笔记 cin cin是C++中最常用的输入语句,当遇到空格或者回车键即停止 如: #include <iostream> #include <string> using namespace std; int main() { chara[50]; cin&...
  • 问题: string输入遇到空格自动结束 cin>>str; cout<<str; 解决: getline(cin,string)读取一行以回车为结束 getline(cin,str) cout<<str;
  • 那我们如何读入带空格字符串呢?我们用以下方法来读入 1.读入字符数组 char s[100]; //第二个参数为最多读入多少字符 //第三个为从哪一个文件读入,一般为系统变量stdin fgets(s, 100, stdin); cout << s; ...
  • C++输入字符串的几种方法

    千次阅读 2021-01-12 14:09:27
    C++输入字符串的几种方法 C++字符串输入方式有 1.cin>> 2.cin.get() 3.cin.getline() 4.getline() 5.gets() cin 第一种用法是逐个输入数字或者字符,中间用空格隔开。 第二种用法是读入一个字符串,遇到...
  • 最近在做题的时候在处理输入时遇到一个令人头疼的问题,今天解决了和大家分享一下:比如题目要求的输入为一行数,数与数之间用空格间隔开,数的个数未知,数也有正有负:11 -2 65 7那么如何把这个输入保存到数组a中...
  • 常见的几种输入方法 cin,getchar(),cin.getline(有参数),getline(cin.s),cin.get(有参数),cin.get(无参数...用法二:接受一个字符串,遇“空格”、“Tab”、“回车”都结束 int a; char b[10]; long c; string d;
  • #include <iostream> #include <string> #include <vector> #include<sstream> using namespace std; ... //用于存放分割后的字符串 vector<string> res; //存.
  • #include #include using ...//去掉收尾空格string& ClearHeadTailSpace(string &str){if (str.empty()){return str;}str.erase(0,str.find_first_not_of(" "));str.erase(str.find_last_not_of(" ") +...
  • 满意答案an1小泽2014.04.20采纳率:59%等级:7已帮助:13609人#include#include#include#include#includeusing namespace std;bool f(int c){return !isdigit(c);}size_t extract(string s, vector &...
  • 输入一行字符,分别计算字符串中字母、空格、数字和其他字符的个数。(15分) int main() { char s; int letter =0,space=0,number=0,other=0; while((s=getchar())!='\n'){ if(s>'a'&&s<'z'||s&...
  • 满意答案a5018661762015.04.28采纳率:52%等级:13已帮助:6289人12345678910111213141516171819202122232425262728//#include"stdafx.h"//vc++6.0加上这一行.#includeusingnamespacestd;voidinput(char*str){inti=0...
  • https://blog.csdn.net/weixin_41066584/article/details/89219798
  • deque<string> Strs; string s; istringstream IN(sentence); while(IN >> s){ Strs.push_back(IN); }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,989
精华内容 43,195
关键字:

c++输入带空格的字符串

c++ 订阅