gets()函数

2023-05-16

gets()函数

1.描述
C 库函数 char *gets(char *str) 从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

gets(str) 约等于 scanf("%s",&str) 会把读到的字符串写入数组,但又不同。
2.区别
scanf("%s",&str) :读到空格便停止。
gets(str) :一直读到敲回车(不管中间是否有空格)。

(区别2)
这里顺便提一下printf()puts() 的区别

puts()在输出字符串时会将’\0’自动转换成’\n’进行输出,也就是说,puts方法输出完字符串后会自动换行。

#include <stdio.h>

int main(void) {
	char str[20];
	char str2[20];
	gets(str);
	scanf("%s", str2);
	puts(str);//==printf("%s\n", &str);
	printf("%s", str2);
}

结果

3.声明

char *gets(char *str)

需要注意的是这里的参数str是一个指针,一个指向字符数组的指针,该数组储存了字符串。

如以下代码:

#include <stdio.h>
int main()
{
	char str[50];
	gets(str);
	printf("%s", &str[1]);
	printf("%s", str);
	return(0);
}

这里注意:
printf("%s", &str[1]);这里加了一个&。数组储存字符串没错。但是因为它的参数是一个指针,也就是我们传入了一个地址,所以我们要打印字符串的话,也就是取的时候,也要用一个地址去取字符串。

所以要记住,用了gets()输入,就要用地址输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gets()函数 的相关文章

  • C语言gets()、fgets()、puts()、fputs()、strlen()函数

    gets 函数 xff1a 从屏幕获取一个字符串 xff0c 返回字符串的首地址 可以获取带有空格的字符串 不安全 char gets char s 参数 xff1a 用来存储字符串的空间地址 返回值 xff1a 返回实际获取到的字符串首地
  • fgets和gets的区别

    在编程中发现gets 和 fgets 一些区别总结一下 xff1b 1 fgets比 gets 安全 xff0c 使用 gets 编译时会警告 为了安全 xff0c gets 少用 xff0c 因为其没有指定输入字符的大小 xff0c 限制
  • scanf(),getchar(),fgets(),gets(),cin.get()和cin.getline()读入字符串功能的用法详解

    scanf scanf 读取字符串直到出现空白符 xff08 空格 制表符 t 回车 n等 xff09 为止 xff1b 且不读入空白符 所在头文件 xff1a stdio h xff1b 语法 xff1a scanf 34 lt 格式化字
  • gets()函数

    gets 函数 1 描述 C 库函数 char gets char str 从标准输入 stdin 读取一行 xff0c 并把它存储在 str 所指向的字符串中 当读取到换行符时 xff0c 或者到达文件末尾时 xff0c 它会停止 xff
  • 1025: 最大字符(scanf输入问题以及gets()和getchar()和scanf()的区别)

    给你三个ASCII字符 不含空白字符 包括空格 制表符 t 回车换行符 n xff0c 找出其中最大的那个 输入 输入包含三个字符 xff0c 之间有一个空格隔开 输出 输出ASII码最大的那个字符 xff0c 占一行 样例输入 复制 a
  • 详解scanf、gets、getchar和getch 使用及其原理。

    scanf gets getchar和getch 使用及其原理 一 说在最前 xff1a 回车及换行 概念 在计算机还没有出现之前 xff0c 有一种叫做电传打字机 在电传打字机打字时 xff0c 在每行后面加两个表示结束的字符 xff0c
  • Visual Studio中gets报错解决方法

    方法如下 xff1a 1 这是敲出gets后报的错 2 经过查找资料 xff0c 知道vs2015之后就不支持gets了 xff0c 变成了gets s xff0c 并且后面的括号中也不能单独写一个数组名 xff0c 还需加上数组内的个数
  • c语言获取终端输入字符串的函数scanf,gets,fgets

    获取终端输入字符串scanf gets fgets 获取终端中输入字符串 xff0c 我们常用getchar scanf gets 和fgets 函数实现 这里简单汇总一下 xff1a scanf 函数可以获取到终端字符串 xff0c 但是
  • gets() 函数和输入中的 '\0' 零字节

    会不会gets C 语言中的函数 例如 glibc 如果读取到零字节 0 从文件中 快速测试 echo ne AB 0CDE Thanks PS这个问题来自这个问题的评论 返回 libc 问题 PPS the gets函数是危险的 但这是一
  • 为什么 gets() 不消耗整行输入?

    我正在尝试使用gets 从用户那里获取一个字符串 但程序似乎直接传递过来gets 用户提供输入时不会有任何停顿 为什么是gets 什么也没做 char name 13 printf Profile name gets name printf
  • Ruby gets() 未返回正确的字符串[重复]

    这个问题在这里已经有答案了 在听到 Ruby 的所有优点后 我今天决定尝试一下 Ruby 但到目前为止 它只是给我带来了困难 很久以前 我在学习 Python 时制作了一个 搜索引擎 它只是将数据存储在数组中并检查搜索关键字是否在其中 并且
  • coderbyte 网站上的“gets(stdin)”是怎么回事?

    Coderbyte 是一个在线编码挑战网站 我两分钟前才发现它 第一个 C 挑战你会看到一个需要修改的 C 框架 include
  • 在C中读取字符串

    如果我使用 C gets 并且我正在从用户那里读取字符串 但我不知道我需要多大的缓冲区 并且输入可能非常大 有没有办法可以确定用户输入的字符串有多大 然后分配内存然后将其放入变量中 或者至少是一种在不知道输入有多大的情况下接受输入的方法 有
  • gets.chomp 而不移动到新行

    我了解自动在末尾的 nputs and gets 以及如何处理这些问题 但是有没有办法在按 Enter 进行输入后保持显示点 光标位置 如果愿意的话 移动到新行gets e g print Hello my name is a gets c
  • C 结构不扫描所有输入

    我有这个C代码 include stdio h main struct books char name 100 author 100 int year copies book1 book2 printf Enter details of f
  • Dev-C++ 输入已跳过

    include
  • 为什么 GCC (9.3.0) 中仍然没有实现 `gets_s()`?

    I know fgets 是更常见和广泛的字符串输入选项 但 C11 已经存在 9 年了 为什么是gets s 还失业吗 即使我添加 std c11 它仍然不起作用 尽管gets s 应该在stdio h 因为它是可选的 还有背后的人gcc
  • 漏洞利用开发 - GETS 和 Shellcode

    试图了解更多有关利用开发和构建 shellcode 的信息 但遇到了一个我不明白背后原因的问题 为什么我无法运行 execve bin sh 等 shellcode 并生成可以与之交互的 shell 另一方面 我可以创建一个反向 bind
  • 隐式声明“gets”

    据我所知 隐式声明 通常意味着该函数必须在调用之前放置在程序的顶部 或者我需要声明原型 然而 gets应该在stdio h文件 我已包含 有没有什么办法解决这一问题 include
  • 禁用警告:GCC 中通过头文件的“gets”函数很危险?

    我正在使用该功能gets 在我的 C 代码中 我的代码工作正常 但我收到一条警告消息 text 0xe6 warning the gets function is dangerous and should not be used 我希望不要

随机推荐

  • java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter【解决办法】使用jwt时报错

    遇到的问题 java lang ClassNotFoundException javax xml bind DatatypeConverter 原因 xff1a 这有可能是因为SpringBoot项目结合jwt进行登录时出现的问题 xff0
  • 开发规范--REST、统一响应结果、开发流程

    开发规范 REST REST xff08 Representational State Transfer xff09 xff0c 表述性状态转换 xff0c 它是一种软件架构风格 传统URL风格如下 xff1a http localhost
  • Java-springboot中的常见的注解

    64 RestController RestController注解相当于 64 ResponseBody和 64 Controller合在一起使用 64 Controller xff1a 将当前修饰类注入ICO容器 xff0c 也有语义化
  • 文件上传前后端实现

    前端实现 span class token tag span class token tag span class token punctuation lt span form span span class token attr name
  • SpringBoot配置文件 -- 参数配置化

    常见配置文件格式对比 SpringBoot提供了多种属性配置方式 application properties server port 61 8080 server address 61 127 0 0 1 application yml
  • JWT令牌技术

    JWT令牌 全称 xff1a JOSN Web Token https jwt io 定义了一种简介的 自包含的格式 xff0c 用于在通信双方以JSON数据格式安全的传输信息 犹豫数字签名的存在 xff0c 这些信息是可靠的 通过base
  • 拦截器Interceptor

    Interceptor拦截器入门 介绍 什么是拦截器 xff1f 是一种动态拦截方法调用的机制 xff0c 类似于过滤器 拦截器是Spring框架中提供的 xff0c 用来动态拦截控制器方法的执行 拦截器的作用 xff1a 拦截请求 xff
  • 异常处理--全局异常处理器

    异常处理方案 出现异常之后 xff0c 三层依次向上抛出 xff0c 最后交给Spring框架处理 xff0c 返回一个JSON的错误信息 在三层构架项目中 xff0c 出现了异常 xff0c 可以用以下两种方式处理 方案一 xff1a 在
  • 简单理解位运算:位与&、位或|、位非~、异或^、左移<<、右移>>

    位运算 xff0c 顾名思义 xff0c 就是对字节中的每个位进行一位一位的运算 常见的运算符有 xff1a 位与 xff08 amp xff09 位或 xff08 xff09 位非 xff08 xff09 异或 xff08 xff09 左
  • bash 脚本字符串截取表达式详细说明

    在编写linux脚本时 xff0c 有时需要操作字符串 xff0c 从一个字符串中截取一段字符串 xff0c linux系统的bash脚本截取字符串的功能比较强 xff0c 表达式丰富 xff0c 时间长了容易忘记 xff0c 因此作此笔记
  • Springboot入门 -- AOP

    一 事务 1 回顾MySQL事务管理 事务的操作主要有三步 xff1a 开启事务 xff08 一组操作开始前 xff0c 开启事务 xff09 xff1a start transaction begin 提交事务 xff08 这组操作全部成
  • SpringBoot原理篇

    1 配置优先级 优先级一次为 xff1a application properties application yml application ymal 推荐使用yml 除了配置文件属性配置 xff0c 还支持Java系统属性和命令行参数的
  • maven私服配置说明

    私服配置说明 使用私服 xff0c 需要在maven的settings xml配置文件中 xff0c 做如下配置 xff1a 需要在 servers 标签中 xff0c 配置访问私服的个人凭证 访问的用户名和密码 span class to
  • Git基本使用

    1 Git快速入门 1 1 Git概述 Git是一个免费的 xff0c 开源的分布式版本控制系统 xff0c 可以快速高效地处理从小型或大型的各种项目 Git易于学习 xff0c 占用空间小 xff0c 性能快得惊人 官网 xff1a ht
  • MyBatisPlus

    1 简介 官网 xff1a https www baomidou com 2 相关依赖以及配置 2 1 pom引入依赖 span class token comment lt MyBatisPlus 启动器 gt span span cla
  • 使用STM32点亮LED

    多学多练 一 题目描述二 设计思路三 寄存器实现01 时钟配置02 模式设置03 代码编写04 创建工程文件 四 HAL库实现01 安装 STM32CubeMX02 安装HAL库03 新建工程04 Keil仿真调试 五 硬件连接六 逻辑仿真
  • C语言数据结构中利用栈和队列实现回文的判断

    数据结构中栈有着极为广大的运用 xff0c 其操作特点是FILO先进后出 队列的特点是FIFO先进先出 判断回文 xff0c 回文序列很好理解 xff0c 正反来看它都一样 那我们可以巧妙的利用栈和队列特点来判断回文 xff0c 存入进抽象
  • csp202112-1 序列查询 满分AC python

    nN 61 int x for x in input split n 61 nN 0 N 61 nN 1 list1 61 0 43 int x for x in input split if int x lt N 43 N num 61
  • isPrime()函数:判断素数,构造素数表

    素数函数isPrime xff08 素数 xff1a 指在大于1的自然数中 xff0c 除了1和它自身外 xff0c 不能被其他自然数整除的数 xff09 方法一 span class token keyword int span span
  • gets()函数

    gets 函数 1 描述 C 库函数 char gets char str 从标准输入 stdin 读取一行 xff0c 并把它存储在 str 所指向的字符串中 当读取到换行符时 xff0c 或者到达文件末尾时 xff0c 它会停止 xff