精华内容
下载资源
问答
  • 字符串的输入
    千次阅读
    2020-11-18 12:35:51

    cin和cout写输入输出非常方便,但是用cin输入string字符串时,默认遇到空格回车制表符等空白字符即字符串输入结束。

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() {
    	string a, b;
    	cin >> a >> b;
    	cout << "a:" << a << endl;
    	cout << "b:" << b << endl;
    
    	return 0;
    }
    
    /*
    输入:
    abc 123
    输出:
    a:abc
    b:123
    */
    

    但是遇到带空格字符的字符串就不是很友好了,则需要用到getline函数,getline()是遇回车符输入结束。

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() {
    	string a, b;
    	getline(cin, a);
    	getline(cin, b);
    	cout << "a:" << a << endl;
    	cout << "b:" << b << endl;
    
    	return 0;
    }
    
    /*
    输入:
    abc 123
    123 abc
    输出:
    a:abc 123
    b:123 abc
    */
    
    更多相关内容
  • C++的字符串输入方式

    千次阅读 2022-03-18 16:02:34
    C++字符及字符串的几种输入方法

    1、cin输入字符串

    接收一个字符串,遇到空格和tab键结束接收,回车键表示输入结束;此外定义a[20],则字符串长度要小于20,最后有个’\0’(否则输入超过20的连续字符串会报错)。

    2、cin.get()输入字符

    接收第一个字符并赋值给ch,不论第一个字符是空格、tab键抑或是回车键,以下四种不同情况输出分别是普通字符,空格符,tab键和回车符。

    3、cin.get(字符数组名,接收字符数)输入字符串

    cin.get()接收一行字符串包括空格和tab键(接收数量需减一,留一个位置给‘\0’),其中接收字符数一定要小于等于定义字符数组大小,不然一旦输入字符串长度大于数组大小会报错。

    cin.get()不传入参数是为了吃掉输入流中的回车。(比较下面两组输入输出)

    4、cin.getline()输入字符串

    cin.getline()传入两个参数时与cin.get()类似

    与cin.get()区别在于当cin.getline()传入第三个参数时cin.getline(a,20,’f’),接收字符串到’f’为止

    5、getline()输入字符串(#include<string>)

    getline(cin,字符串名字),getline()接收一个字符串,包括空格与tab键,唯一要注意的是,getline()属于string流,求字符串长度时不能用strlen(),应该用str.length()。

    6、gets_s()输入字符串

    gets_s(字符串名字)输入字符串可以接收空格和tab键,回车结束

    7、getchar()输入字符

    getchar()接收字符串的第一个字符包括(空格、tab键、换行符)

    注意所有字符串的输入(包括cin.get()、cin.getline()、getline、gets_s),如果接在cin>>a输入流后,中间必须增加cin.ignore()用以吞掉换行符。

    本文参考这篇文章C++ 字符串的输入的几种方法_YULIU_的博客-CSDN博客_c++字符串输入函数然后经过我自己总结而成,如有不足请多指教!!!

    展开全文
  • 【C语言】字符串输入的三种方式

    万次阅读 多人点赞 2021-12-25 13:35:48
    gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间 # include <stdio.h> int main(void) { char a[256] = {0}; gets(a); printf("%s",a); return 0; } 运行结果...

    一、gets()

    该函数原型为:

    # include <stdio.h>
    char *gets(char *str);
    

    gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间

    # include <stdio.h>
    int main(void)
    {
    	char a[256] = {0};
    	gets(a);
    	printf("%s",a);
        return 0;
    }
    

    运行结果:
    在这里插入图片描述

    二、getchar()

    # include <stdio.h>
    int main(void)
    {
    	int i=0;
    	int j;
    	char ch;
    	char a[256] = {0};
    	while((ch=getchar())!='\n')//一直接收缓冲区的字符。直至收到回车
    	{
    	   	a[i]=ch;
    	   	i++;
    	}
    	a[i]='\0';    //加上串尾符
    	for(j=0;j<i;j++)
    	{
    		printf("%c",a[j]);
    	}
        return 0;
    }
    

    运行结果:
    在这里插入图片描述

    三、scanf()

    # include <stdio.h>
    int main(void)
    {
    	char a[256];
    	scanf("%s",&a);
    	printf("%s",a);
        return 0;
    }
    

    运行结果:
    在这里插入图片描述



    注:

    • scanf这种格式串不能接收带空格的字符串,比如输入"abc 123 678"的话,字符串只会接收到abc,遇空格就结束
      在这里插入图片描述

    • 使用 gets() 时,系统会将最后“敲”(Enter)的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符
      而使用scanf时,最后的“敲”会遗留在缓冲区中,如果使用scanf,则需要使用gerchar()将缓冲区的Enter吃掉

    1. 使用gets()后再输入一个字符,可知缓冲区无残留Enter
      在这里插入图片描述

    2. 换成scanf后,只敲了一次回车就结束程序,可知scanf情况下缓冲区有残留Enter在这里插入图片描述

    3. 加入getchar()即可解决残留Enter问题在这里插入图片描述
    展开全文
  • C语言字符串输入及输出的几种方式

    万次阅读 多人点赞 2018-02-06 00:12:56
    1.字符串数组+初始化 char s1[]="array"; //字符数组 char s2[6]="array"; //数组长度=字符串长度+1,因为字符串末尾会自动添‘\0‘ printf("%s,%c\n",s1,s2[2]); //array,r 2.字符串指针+初始化 char *sp=...

    1.字符串数组+初始化

    char s1[]="array";  //字符数组
    char s2[6]="array";  //数组长度=字符串长度+1,因为字符串末尾会自动添‘\0‘
    printf("%s,%c\n",s1,s2[2]);  //array,r

    2.字符串指针+初始化

    char *sp="pointer";  //字符指针
    printf("%s,%c,%c\n",sp,*sp,*(sp+2));  //pointer,p,i
    3.数组+scanf

    char s1[6];	
    scanf("%s\n",s1);
    printf("%s,%c\n",s1,s1[2]);  //array,r
    4.指针+scanf
    #include <stdio.h>
    #include<stdlib.h>   //该头文件别忘加,否则使用malloc会报错
    int main(){
      char *sp;
      sp=(char *)malloc(sizeof(char));
      scanf("%s\n",sp);
      printf("%s,%c\n",sp,*sp);//pointer,p
      return 0;
    }
    5.指针+数组+scanf

    char str[60], *sp=str;//将数组的首地址str赋给指针变量sp
    scanf("%s\n",sp);
    printf("%s,%c,%c\n",sp,*sp,*(sp+3));//pointer,p,n
    printf("%s,%c,%c\n",str,str[0],str[3]);//pointer,p,n
    6.注意:如下方法控制台运行会终止

    char *sp;//sp未初始化指向不明
    scanf("%s\n",sp);
    printf("%s\n",sp);
    7.用scanf和gets( 字符数组名或指针)进行输入的区别:

    char str1[60],str2[60];
    gets(str1);  //gets()函数将接收输入的整个字符串直到遇到换行为止
    printf("%s\n",str1);
    scanf("%s\n",str2);//scanf如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理
    printf("%s\n",str2);

    8.使用while(scanf("%d",&n)!=EOF){ }实现多组测试数据输入,而不在输入完一组数据后退出控制台

    char s1[60],s2[60];
    int cnt; //用来测试scanf返回被输入函数成功赋值的变量个数
    while((cnt=scanf("%s%s",s1,s2))!=EOF){  //当按下ctr+z终止输入时,scanf会返回EOF(-1)\n
       printf("scanf返回了%d, s1是%s,s2是%s, 这行输出下方可以继续进行输入\n",cnt,s1,s2);
       //scanf若成功输入str1和str2则返回2
    }
    printf("%d",cnt);//当按下ctr+z后会执行该条输出-1
























    展开全文
  • C语言中字符串的使用 java语言中直接就有string这个数据类型,而C语言中没有字符串数据类型,所以使用字符串... printf("请输入字符串:\n"); scanf("%s",a); printf("字符串的值为:\n"); printf("%s",a); return 0;
  • c语言字符串输入

    万次阅读 多人点赞 2018-08-28 10:56:36
    如果想把一个字符串读入程序,首先必须预留储存该字符串的空间,然后用输入函数获取该字符串。 分配空间 1.char *name; 2.char name[81];   1,2 的不同点:1.的指针在未进行初始化之前可能指向任何地方。  ...
  • C语言的字符串输入gets()函数

    千次阅读 2020-06-26 21:13:23
    C语言的字符串输入gets()函数 字符串简介 字符串(character string)是一个或多个字符的序列。如下所示: "Zing went the strings of my heart!" 双引号不是字符串的一部分。双引号告知编译器它括起来的是字符串。...
  • C语言字符串输入输出函数

    万次阅读 多人点赞 2020-03-21 18:36:15
    C语言字符串输入输出函数 (1)putchar()函数 格式: putchar© 功能:向终端输出一个字符 注意:输出的时候不会加回车 (2) getchar()函数 格式:字符型变量=getchar () 功能:从标准输入设备上读取单个字符,返回值...
  • 7-48 字符串输入练习 (I) (15 分)

    千次阅读 2022-01-03 23:03:56
    7-48 字符串输入练习 (I) (15 分) 计算字符串的长度。 输入格式: 每行一个字符串。 输出格式: 针对每行字符串,输出该串的长度。 输入样例: hello world! welcome to acm world 结尾无空行 输出样例: 在...
  • 字符串输入函数gets()

    千次阅读 2019-05-26 10:40:33
    在前面讲过键盘输入函数 scanf 和 %s.其实还有更简单的方法,就是使用 gets() 函数,该函数的原型为: #include<stdio.h>...gets()函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量...
  • 读取不定长字符串输入

    千次阅读 多人点赞 2021-05-19 08:43:18
    在C语言里有个可以用来读取字符的函数(getchar),我们可以利用这个函数来实现不定长的字符串输入。下面我们就来讲讲如何做到这一点。首先,说一下原理:getchar每次只能读取一个字符。因此,我通过循环使用getchar...
  • Java实现 蓝桥杯VIP 算法提高 3-2字符串输入输出函数

    万次阅读 多人点赞 2019-06-22 10:50:10
    算法提高 3-2字符串输入输出函数 时间限制:1.0s 内存限制:512.0MB 描述  编写函数GetReal和GetString,在main函数中分别调用这两个函数。在读入一个实数和一个字符串后,将读入的结果依次用printf输出。  两次...
  • C语言的字符串输入函数gets_s()

    千次阅读 2020-06-26 21:11:33
    C语言的字符串输入函数gets_s() C11新增了gets_s()函数(可选),和fgets()函数类似(上一篇博客有介绍《 C语言的字符串输入fgets()函数 》),用一个参数限制读入的字符数。gets_s()函数的形式如下: gets_s(words...
  • C语言字符和字符串输入与输出

    千次阅读 多人点赞 2022-03-26 18:32:36
    scanf函数是标准输入流(从键盘接收数据),接收的数据放入输入缓冲区中,其中就包括在键盘输入的空格、回车这类字符,当你用%d接收时是不会影响的,但是用%c就会产生错误,这是因为在"%c"输入时,空格和转义字符均...
  • C++中的几种字符串输入输出方法

    万次阅读 多人点赞 2017-07-06 11:59:03
    c++中的字符串的几种输入与输出
  • python如何输入字符串

    千次阅读 2021-02-03 12:15:07
    字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!'var2 = "Runoob"Python 访问字符串中的值Python 不支持单...
  • C语言输入带空格的字符串

    千次阅读 2021-05-19 10:27:09
    不能接收带空格的字符串输入,虽然它的指定长度是10, 但是遇到空格时即使没有满10个字符它也自动结束输入了。所以:1.用 gets() 可以读取空格, 直到回车才会结束输入char str[80];gets(str); //可以读取空格, ...
  • python 字符串输入和输出

    万次阅读 2020-04-30 11:07:18
    python 字符串输入和输出 1、字符串输入 python中提供了input()函数可以用于接收字符串输入,默认的标准输入是键盘,并且会将输入内容转化为字符串类型,如需将其转化为整型等数据类型,可以使用数据类型转化...
  • 并在同一专栏会有多个字符串输入输出处理的相关内容。 目录 输入 逐个元素输入 整体串形式输入 输出 逐个输出 整体串形式输出 任一元素开始串形式输出 输入 逐个元素输入 在对字符数组进行输入操作时...
  • c语言中字符串输入输出的几种方式

    千次阅读 多人点赞 2020-02-11 13:05:31
    在不引入string.h的前提下对字符串进行输入输出操作 ...,以回车或者空格作为输入结束符,自动在字符串末尾补上结束标志符‘\0’,所以无法将包含空格的字符串输入字符数组。 (2)使用getchar()逐个输入字符串 该函...
  • python字符串输出和输入

    千次阅读 2022-03-29 13:45:42
    一、字符串输出 回顾一下以前我们经常写的print()输出数据,输出的就是字符串。下面来看看具体点的代码操作。 代码如下: ...二、字符串输入 在Python中,使用input()函数接收用户输入。 代码如下...
  • C++ 带空格的字符串输入

    千次阅读 2015-11-20 16:13:21
    第一个参数str用来存储输入行的数组名称,第二个参数是要读取的字符数。 方法二: cin.get(str, len) 两者都是读取一行输入,直至换行符。 然后,getline将换行符丢弃,而get()将换行符保留在
  • 除了在定义字符数组时初始化外,还可以通过scanf从键盘输入字符串。下面写一个程序: # include <stdio.h> int main(void) { char str[10]; //str是string的缩写, 即字符串 printf(“请输入字符串:”); scanf...
  • C++字符串的几种输入方法(string和字符数组)

    千次阅读 多人点赞 2021-07-19 17:14:56
    用法一:最常用的方法,接收一个字符串,无论是string还是char a[10],都是一样,但是遇到“空格”,“TAB”,"回车"都结束。 #include<iostream> #include<string> using namespace std; int main() { ...
  • 将一字符串输入到数组(长度不超过80)后将其输出, 将其中的英文字母大小写互换后再将整个字符串输出。 代码 # include <stdio.h> # include <string.h> # define N 80 /*将一字符串输入到数组(长度不...
  • C++中输入字符串的几种方法

    千次阅读 多人点赞 2020-02-17 20:09:39
    C++中的字符串输入方式有: 1.cin >> 2.cin.get() 3.cin.getline() 4.getline() 5.gets() 6.getchar() cin 第一种用法是逐个输入数字或者字符,中间用空格隔开。这是最基本的。 第二种用法是读...
  • 字符及字符串输入输出函数

    千次阅读 2018-09-29 17:11:18
    int getc(FILE *stream) 从指定输入流stream中读取字符(stdin表示字符) int getch(); 键盘读取字符放入缓冲区,不回显 int getchar(); 键盘读取字符放入缓冲区,回显 则字符输入通用格式  char ch; ch=...
  • 输入字符串的方式

    万次阅读 多人点赞 2019-05-19 17:15:27
    C++中常用的几种输入字符串的方式 1.scanf scanf如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理 #include <cstdio> using namespace std; int main (){ char s[100]; scanf("%s",s); ...
  • 几种输入字符串的方法

    万次阅读 2021-07-25 22:32:36
    常见字符串输入收录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居...
  • C++ 带空格字符串输入与分割

    千次阅读 2021-03-15 22:37:12
    带空格的字符串输入 在C++中,常用的输入方式cin默认的分隔符非常多,其中就包括空格,所以不能直接用cin输入带空格的字符串,不然会被系统自动分成好几个字符串。正确输入带空格的字符串的方法如下: 使用getline...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,175,980
精华内容 870,392
关键字:

字符串的输入