String和get

article/2025/10/31 23:02:33
String和get

在ch4的作业中暴露出了我不懂的一些问题,主要是和String有关的定义和头文件以及和get有关的函数。

String

在C++中如果想定义字符串型,即String a;则需要用到头文件<string>或<string.h>

有些人会问,这两个有什么差别呢?

其实和<iostream>与<iostream.h>类似,带.h的如<iostream.h>、<string.h>是原先用于C语言的头文件,而不带.h的<iostream>、<string>自然是C++的头文件。

由于C++兼容C,所以两个头文件都是可以被识别并使用的,但是我亲测,还是建议大家用C++的不带.h的头文件。

为什么呢?当然不止是为了跟上时代的步伐,还有更加实际的好处。

由于C语言中没有引入名命空间std,所以其中的标识符如<<、>>是不会被识别的。

也就是说,如果你只用了<string.h>,那么没事,可以成功定义,string a;没问题。但是你想要输入输出就会麻烦点了,如果直接cin>>a,就会报错,并提示没有匹配的运算符。

但神奇的事情在于,<iostream>可以看成<iostream.h>的升级版,但是<string>和<string.h>就不行了。

因为在C++推出之前,C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件。这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,他们是毫无关系的两个头文件。

(引用:http://www.cnblogs.com/Cmpl/archive/2012/01/01/2309710.html)

 

get函数

1、cin:作为最基本的输入方法,不多说。

1、cin.get():可以用来接收字符,通常用于循环条件中读取各种字符。ch=cin.get()或者cin.get(ch)都可以将字符存入ch变量中。

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

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

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

4、gets():需包含<string>。接受一个字符串,可以接收空格并输出,但是读到换行符'\n会将其转换为'\0'并停止读取,也就是说只能读取一行数据。一般传入数组

1     
2     char str[20] = "\0";  //字符数组初始化\0
3 
4     gets(str);        //输入“i love you”,
5 
6     printf("%s\n", str);      //输出“i love you”
View Code

5、getchar():接受一个字符,需包含<string>、<iostream>

getchar()是C语言的函数,C++也可以兼容,但是建议少用或不用。

 

posted on 2018-11-02 17:10 BlackDn 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/luoyang0515/p/9897300.html


http://chatgpt.dhexx.cn/article/udwRt5wA.shtml

相关文章

String类的getChars的用法

str.getChars(0,str.length(),ch,0); 参数1&#xff1a; 从0索引开始 参数2&#xff1a;复制指定的长度 参数3&#xff1a;目标数组 参数4&#xff1a;从目标数组的指定索引位置粘贴 进入看一下源码&#xff1a; public static void arraycopy(Object src, int srcPos, Obj…

关于Java里面的String.getBytes()方法

关于Java里面的String.getBytes()方法 Java里面的String类型的编码方式是Unicode&#xff0c;根据你项目字符串的编码方式无关&#xff0c;这是写死的。但是如果你jvm平台使用的是GBK编码方式&#xff0c;那么你通过string里面的getBytes()方式获取的字符的字节是2。如果使用的…

字符串输入函数gets()

在前面讲过键盘输入函数 scanf 和 %s.其实还有更简单的方法,就是使用 gets() 函数,该函数的原型为: #include<stdio.h> char *gets(char *str);这个函数很简单,只有一个参数,参数类型为char *型,即 str 可以是一个字符指针变量名,也可以是一个字符数组。 gets()…

getchar()和gets()

因为最近被getchar弄的很烦所以今天中午好好梳理一下 getchar() 从缓冲区读走一个字符&#xff0c;相当于清除缓冲区 前面的scanf()在读取输入时会在缓冲区中留下一个字符\n&#xff08;输入完s[i]的值后按回车键所致&#xff09;&#xff0c;所以如果不在此加一个 getcha…

getAsString()和toString()区别

getAsString源码 toString()返回的是JsonElement的字符串&#xff0c;所有是带双引号的&#xff0c;eg: “hello” getAsString()返回的是JsonElement的字符串值&#xff0c;所以不带双引号&#xff0c;eg:hello

String类中getBytes()方法的使用

String是我们常用到的字符串类&#xff0c;今天我学习的时候需要将字符串转换为一个一个字节储存起来&#xff0c;查看String类的API发现其中有一个getBytes()方法&#xff0c;那么这个具体是怎么使用的呢&#xff1f; 先上测试结果吧 。 这里我们首先声明了一个byte类型的数组…

Resources中getString方法解析

在Android开发中&#xff0c;我们的字符串一般都是统一写在项目的res/values/strings.xml中&#xff0c;如果我们需要得到指定的字符串&#xff0c;一般使用getString方法来得到。 其实getString特别的有用&#xff0c;而且用法也很灵活&#xff0c;下面我们就来说说这个方法。…

c语言 编写getString函数(运用malloc函数,不使用数组)

定义一个返回值为char*类型的函数 定义一个char类型字符&#xff08;传入&#xff09;用malloc函数在堆区开辟一个新的空间存字符串定义一个char*类型指针标记字符串首地址定义一个char*类型字符串为空定义一个int类型变量计数while循环&#xff0c;当传入字符c不等于‘\n’时…

JavaGUI开发实践:登录界面模拟(连接数据库)

文章目录 1. 实现功能概要2. 功能界面概览3. 代码详解&#xff08;1&#xff09;选择身份登录方法实现&#xff08;2&#xff09;登录按钮的响应 4. 全部代码示例5. 包的存放位置6. 项目全部代码下载地址&#xff1a;JavaGUI超市进销存管理系统 所有代码7. Java GUI其他相关博客…

JavaGUI设计-计算器

.利用GUI程序设计方法实现简单计算器的设计。运行效果可设计为如下界面&#xff0c;也可设计为windows系统中的计算器样式。 &#xff08;此程序为整数计算&#xff09; 1 基础页面设计 2 流布局器使用 3 单选按钮注册监听事件 4 文本框中内容获取&#xff0c;数据覆盖 除法 …

Java之GUI

&#xff08;本文为博主JAVA课程学习总结&#xff09; GUI —— 图形化用户界面 JFC&#xff08;Java Foundation Classed&#xff09;是开发GUI的API集 JFC包括&#xff1a;AWT&#xff08;Abstract Window Toolkit抽象窗口工具包&#xff09;、Swing组件&#xff08;建立在…

JAVA--GUI

AWT(Abstract WindowToolkit抽象视窗工具组)包括了很多类和接口&#xff0c;用于java.Application的GUI(Graphics User Interface图形用户界面)编程&#xff0c;GUI的各种元素&#xff08;如&#xff1a;窗口&#xff0c;按钮&#xff0c;文本框等&#xff09;由java类来实现。…

JavaGUI------------常用的组件(标签、按钮)

目录 1.标签 2.按钮 1.标签 类&#xff1a;JLabel作用&#xff1a;显示文本或者提示信息 构造函数&#xff1a; new JLabel();new JLabel(Icon icon);//设置图标new JLabel(Icon icon&#xff0c;int aligment);//设置图标水平对齐方式new JLabel(String str&#xff0c;i…

javaGUI基础知识

*注: 作者使用的是 jdk1.8.0_121 版本,可根据下方链接进行下载 jdk1.8.0_121 64位 jdk1.8.0_131 32位 1.基础界面 Frame frame new Frame(); frame.setVisible(true);2.关闭按钮监听 frame.addWindowListener(new WindowAdapter(){Overridepublic void windowClosing(Windo…

Java GUI程序示例

Java GUI程序示例 与命令行界面相比&#xff0c;图形界面对于用户来说更为简便易用。图形用户界面&#xff08;Graphical User Interface&#xff0c;简称 GUI&#xff09;&#xff0c;关于Java图形用户界面&#xff0c;可参见 https://blog.csdn.net/cnds123/article/details…

JavaGUI界面实现跳转

页面跳转&#xff1a; 思路&#xff1a; 先定义一个类继承JFrame&#xff1b;定义要用的控件&#xff0c;再在构造方法中对定义的控件进行修改&#xff0c;后写出主函数&#xff0c;在主函数中调用构造方法。同理&#xff0c;在idea中&#xff0c;将需要跳转的几个界面置于同一…

JavaGUI显示表格(连接数据库)基础

文章目录 一、界面概览二、代码三、代码解释四、项目全部代码下载地址五、 项目代码说明六、功能更新&#xff1a;根据下拉单内容查询不同数据库6.1 界面概览6.2 用到的主要控件 七、其他相关博客7.1 <a href"https://blog.csdn.net/SKMIT/article/details/106676478&q…

Java-GUI简介

JavaSwing-GUI开发简介&#xff08;1&#xff09; 本期介绍一些GUI的基本知识&#xff0c;开发GUI程序的时候直接用windowbuilder生成框架&#xff0c;傻瓜式拖拽就行&#xff0c;非常简单。 一、布局管理器 1.1:FlowLayout(流式布局) 1.2:GridLayout(网格布局) 1.3:Grid…

Java:GUI编程

文章目录 GUI编程AWT一、AWT介绍二、组件和容器(Component和Container)2.1.Frame2.2.Panel 三、布局管理器3.1.第一种布局管理器——FlowLayout3.2.第二种布局管理器——BorderLayout3.3.第三种布局管理器——GridLayout&#xff08;表格布局管理器&#xff09;3.4.布局练习 四…

Java GUI编程

GUI&#xff08;Graphical User Interface&#xff09;即图形用户界面&#xff0c;它能够使应用程序看上去更加友好。 Swing概述 Swing是纯Java组件&#xff0c;使得应用程序在不同的平台上运行时具有相同外观和相同的行为。 Swing中的大部分组件类位于javax.swing包中。 Sw…