精华内容
下载资源
问答
  • 输入带空格字符串的两种方法

    千次阅读 2019-09-25 15:45:03
    这是我们平常用的:  char s[100];  scanf("%s",s);//cin>... 现在有两种方法可以输入带空格字符串:  第一,用get()函数:  char str[100];  get(str);  注:get()函数在linux使...

    这是我们平常用的:

      char s[100];

      scanf("%s",s);//cin>>s;

      输入字符串时,当遇到空格就自动停止输入,导致空格后门的字符没有按我们设想的输入。

     

      现在有两种方法可以输入带空格的字符串:

      第一,用get()函数:

      char str[100];

      get(str);

      注:get()函数在linux使用会有这条错误。在linux(fedora10)下的话建议使用第二种方法。

      test.o: In function `main':
      test.c:(.text+0x1df): warning: the `gets' function is dangerous and should not be used.

     

      第二,用scanf函数:

      char str[100];

      scanf("%[^\n]",str);

      注:\n代表回车,^代表取反,整体的意思是只有输入回车键时才会结束输入。

    转载于:https://www.cnblogs.com/cangT-Tlan/p/7503205.html

    展开全文
  • 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-05-19 10:27:09
    不能接收带空格字符串输入,虽然它的指定长度是10, 但是遇到空格时即使没有满10个字符它也自动结束输入了。所以:1.用 gets() 可以读取空格, 直到回车才会结束输入char str[80];gets(str); //可以读取空格, ...

    因为:

    scanf("%s",str); 遇到空格就停止接收后面的字符。

    scanf("%s", str, 10); 不能接收带空格的字符串输入,虽然它的指定长度是10, 但是遇到空格时即使没有满10个字符它也自动结束输入了。

    所以:

    1.用 gets() 可以读取空格, 直到回车才会结束输入

    char str[80];

    gets(str);   //可以读取空格, 回车才会结束输入

    2.使用"%[^\n]"可以接收输入带空格的字符串,直到回车才结束接收

    char str[10];

    scanf("%[^\n]",str); //可以读取空格,回车结束输入

    附:正则中的[xxx],%[abc]表示字符组合包括a、b和c,如果遇到这三个字符之外的字符,则停止接收。%[^abc]代表字符组合为abc以外的所有字符,至于横杠是否用于指定某个范围的字符%[a-z],则因编译器而异。

    --------------------------------

    2019-10-25 16:45:51 第一次改

    java控制台输入带空格的字符串

    java控制台输入带空格的字符串 Scanner sc = new Scanner(System.in); String str = sc.nextLine();

    C从控制台&lpar;stdin&rpar;输入带空格的字符串到字符数组中

    用scanf("%s",array); 的话遇到空格就停止接收后面的字符了,那怎么才能接收带空格的字符串呢? 1.用 gets() ,它可以接收带空格的字符串, 直到回车才结束输入 ...

    PAT &lpar;Basic Level&rpar; Practice (中文)1057 数零壹 &lpar;20 分&rpar; (按行输入带空格的字符串)

    给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定 ...

    C&plus;&plus;输入带空格的字符串

    对于字符数组 1.使用 getline() 读入整行数据,回车键输入的换行符确定输入结尾. 调用方法:cin.getline(str, len) 第一个参数str用来存储输入行的数组名称,第二个参数是 ...

    GO语言学习笔记1-输入带空格的字符串

    最近开始学习GO语言,并做了一些编程练习.有道题要输入带空格的字符串,这在C/C++中很容易实现,但GO中好像并不那么容易.学过C/C++的可能都知道,在C中可以使用gets()函数,在C++可以使用 ...

    C&plus;&plus;如何输入含空格的字符串

    1.scanf函数(包含头文件#include ) scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格是输入不同组之间的间隔和结束符号,所以 ...

    iOS开发系列--C语言之数组和字符串

    概览 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等.而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符数组.今天主要就介绍如 ...

    R语言:文本(字符串)处理与正则表达式

    R语言:文本(字符串)处理与正则表达式 (2014-03-27 16:40:44) 转载▼ 标签: 教育 分类: R 处理文本是每一种计算机语言都应该具备的功能,但不是每一种语言都侧重于处理文本.R语 ...

    C&sol;C&plus;&plus;带有空格的字符串输入

    一.带有空格的字符串输入 (一)C++篇 1. 针对字符数组而言 方法一 getline() 读入整行数据,使用回车键输入换行符来确定输入结尾. 调用方法: cin.getline(str,len) ...

    随机推荐

    HTML简单入门内容

    常用属性: Width=宽度 Height=高度 Size=大小 Color=颜色 Align=布局方向,值包括(top,bottom,left,right,center)上,下,左,右,中. Bor ...

    C&plus;&plus;基本数据类型总结

    一.整形 1.整形有char.short.int.long.long long,这5个也默认为signed XX ; 规则:short至少16位:int至少和short一样:long至少32位,且至少 ...

    springMVC4 注解配置实例

    结构: maven配置:

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

    千次阅读 2020-04-06 11:02:55
    一、getline()函数 该函数原型是: getline(input, string, char delim)或 getline(input, string) ;...使用该函数只能读入一行字符串。 二、头文件 getline() 函数需要用到头文件 : #include ...

    一、getline()函数

    该函数原型是:

    getline(input, string, char delim)或 getline(input, string) ;

    input — 获取数据来源的流;
    string — 要输入的目标;
    delim — 分隔符(默认为换行符 ‘\n’ );
    使用该函数只能读入一行字符串。

    二、头文件

    getline() 函数需要用到头文件 :

    #include <string>
    

    注意:不是 “string.h” ,也不是 “cstring” ,这两者都是包含对字符串数组处理的函数声明,功能相同。而 "string"是标准C++字符串类,用于直接对字符串的操作。

    因为标准C++类string的定义和处理在标准命名空间,所以还需要指明:

    using namespace std;
    

    准备工作做好,下面我们来看代码:

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {
        int n;
        string a[50];
        cin >> n;   //要输入字符串的行数
        for (int i = 0; i < n; i++) {
            getline(cin, a[i]);
        }
        for (int i = 0; i < n; i++) {
            cout << a[i] << endl;
        }
        return 0;
    }

    在这里插入图片描述
    通过运行结果我们会发现输入的字符串少了一行,原因是什么呢?
    是因为在输入n之后会读取一个换行符 ‘\n’ ,因此占去了输入字符串的一行(即读入一个空行),那么要想避免这个问题,我们需要用到另一个函数:

    cin.ignore();  //可以吃掉回车
    

    下面,修改后的程序如下:

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {
        int n;
        string a[50];
        cin >> n;
        cin.ignore();
        for (int i = 0; i < n; i++) {
            getline(cin, a[i]);
        }
        for (int i = 0; i < n; i++) {
            cout << a[i] << endl;
        }
        return 0;
    }

    在这里插入图片描述
    由此可见,我们解决了输入多行包含空格的字符串问题,cin是无法实现的,因而有了getline()函数的应用。

    三、cin.getline()

    虽然cin无法实现输入包含空格的字符串,但我们还可以用cin.getline(),函数原型为:

    getline(char ch[], size, endchar)或getline(char ch[], size);

    char ch[] — 要输入的目标字符串;
    size — 输入字符串的最大长度(若超出size,则不再接受后续的输入);
    endchar — 结束符(默认是换行符 ‘\n’ )。

    注意:该函数处理的是字符串数组,不能处理string定义的字符串。
    下面我们来看代码:

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {
        int n;
        char a[50];
        cin >> n;
        cin.ignore(); //吃掉回车
        cin.getline(a,20);
        cout << n << endl;
        cout << a << endl;
        return 0;
    }

    在这里插入图片描述
    上述两个getline() 虽然名字相同,但却是两个完全不同的函数,分别定义在不同的头文件中:

    getline() 是定义在 "string"中,用于输入一行string;
    cin.getline() 是cin的一个成员函数,定义在 “iostream”中,用于输入一行指定size范围内的字符串。

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

    千次阅读 2020-03-14 10:23:15
    带空格字符串 1.字符串string类 string str; getline(cin,str); 2.字符数组 方法一:cin.getline(str,len) char a[100]; cin.getline(a,100); 第一个参数是要输入的字符数组,第二个是输入的最大长度,输入的...
  • C++中带空格字符串输入

    千次阅读 2019-04-11 20:54:08
    #include<iostream> using namespace std; int main() { string str; getline(cin,str); cout<<str; return 0; } 利用getline函数
  • 带空格字符串输入处理

    千次阅读 2018-05-06 15:19:45
    1.若输入为string类型,可用getline(),注意必须string头文件#include&lt;iostream&gt; #include&lt;string&gt; using namespace std; int main() { string s; while (getline(cin,s)) ...
  •  用gets()函数才能输入字符串,且遇到空格不会结束。但是gets函数的缺点是不安全,执行读操作时易发生溢出。 存在潜在的缓冲区溢出问题, gets()已在C99下废弃,在C11下停用,如需读入整个字符串,应使用fgets()。 ...
  • C语言如何输入带空格字符串

    千次阅读 多人点赞 2021-08-02 15:58:33
    可以看到,gets()用于从标准输入流读入一个整行(以’\n’或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的’\n’从流中取出,但不写入数组。gets()不检查被写入的数组...
  • 编写C/C++程序时如何输入包含空格字符串

    万次阅读 多人点赞 2018-03-03 21:06:02
    1.C语言中,可以用gets函数来接收输入字符串(包含空格)。 格式:gets(字符数组名); 功能:gets函数用于将输入字符串内容存放到指定的字符数组中,输入结尾的换行符’\n’被换成’\0’存储在该数组中。 举例...
  • C/C++中带空格字符串输入

    万次阅读 多人点赞 2017-04-27 21:33:49
    带空格字符串输入
  • java控制台输入带空格字符串

    千次阅读 2016-04-30 23:07:00
    java控制台输入带空格字符串 Scanner sc = new Scanner(System.in); String str = sc.nextLine(); 转载于:https://www.cnblogs.com/muyuge/p/6152028.html
  • C++ 带空格字符串输入与分割

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

    千次阅读 多人点赞 2019-01-10 16:11:47
    活到老,学到老 string a; getline(cin,a); cout&lt;&lt;a;
  • 有道题要输入带空格字符串,这在C/C++中很容易实现,但GO中好像并不那么容易。学过C/C++的可能都知道,在C中可以使用gets()函数,在C++可以使用getline()函数来实现输入带空格字符串。那我们可能要问在GO中有...
  • 如何输入串带空格字符串

    千次阅读 2016-11-16 19:18:14
    2016年11月16日 星期三 阴 ...如何输入串带空格字符串?   例题如下:输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数并输出结果     方法1:gets()函数 #include   int main()
  • 但是在当输入字符串中有空格时,就会停止输入,这是因为 scanf("%s") 会以回车和空格作为结束标志,因此可以采用如下两种来输入带空格字符串。 1.使用gets()函数 gets()函数可以获取输入的一行字符串,并...
  • C语言带空格字符串输入(记)

    千次阅读 2020-09-04 11:26:24
    //不接受带空格字符串输入,长度指定为10,遇到空格就停了。 所以: gets()可以读取空格,知道回车才会结束输入 char str[30]; gets(str); //可以读取空格,回车结束 使用"%[^\n]"可以接受输入带空格字符串,...
  • 输入带空格字符串,要用到一个格式字符:%[] --> 一个字符集。 “%[]”的作用是扫描字符集合: 例如:scanf(“%[^\n]”,str); 具体作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符...
  • Scanner输入带空格字符串

    千次阅读 2020-03-26 19:59:46
    Scanner是一个扫描器,我们录取到键盘的数据,先存到缓存区等待读取,它判断读取结束的标示是 空白符;比如空格,回车,tab 等等。 next()方法读取到空白符就结束;...需要输入带空格字符串时,用nextLine(); ...
  • 主代码段: int i=0; string data; cin>>i; cin>>data; cout; return 0; 弹出的窗口输入 20 1 2 3 4 55 输出结果为 20 1
  • C++ 读取一行带空格字符串

    千次阅读 2020-08-26 16:25:09
    C++中字符串输入 1. cin cin是C++中最常用的输入语句,当遇到空格或者回车键即停止 #include <iostream> #include <string> using namespace std; int main() { char a[50]; cin>>a...
  • 刷算法题,原来以为迭代是难点,花了大半天弄懂迭代和题目的思路之后没想到被c语言带空格字符串输入困了两天。。。 其实这个问题解决起来并不麻烦,但为什么头一天晚上花了那么多时间都没有解决呢?主要是因为太...
  • 如何使用scanf输入带空格字符串

    千次阅读 多人点赞 2019-12-23 00:25:45
    学过字符串,我们都知道当输入串带空格的字符 (通俗的说,就是英语中由一个个单词组成的一句话)时,举个例子,比如my name is aeiou 如果你用scanf直接输入的话, 像这样 scanf("%s",str); 结果是这样的...
  • 用scanf()函数输入带空格字符串

    千次阅读 2016-09-29 10:02:27
    输入带空格字符串,要用到一个格式字符:%[] --> 一个字符集。  “%[]”的作用是扫描字符集合:  例如:scanf(“%[^\n]”,str);  ‘\n’就是一个具体的字符常量,表示:将’\n’作为字符串的结束符号。这...
  • C读取带空格字符串和字符数组

    千次阅读 2018-05-04 16:38:49
    读取带空格输入时应该用的方法:&lt;1&gt;字符串 string: #include &lt;string&gt; string a; getline(cin,a);&lt;2&gt;字符数组 char: 第一种: #include &lt;cstdio&...
  • 输入带空格字符串 需要用到 getline(cin,str);具体在代码中看 2:上码 #include<bits/stdc++.h> using namespace std; int main(){ vector<string>v1; for( int i = 0; i < 2; i++ ) { ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 479,242
精华内容 191,696
关键字:

输入带空格的字符串

友情链接: Chap4.zip