字符串输入的2种常用方法详解

article/2025/8/27 18:40:11

字符串输入的2种常用方法详解

  • 一.scanf函数
    • 1.扫描集
    • 2.逆向使用扫描集
  • 二.gets函数

一.scanf函数

int main()
{char arr[50] = { 0 };scanf("%s", arr);printf("%s", arr);return 0;
}

这种方法可以输入字符串,但是只能输入一个词,遇到空格就结束了。,空格之后的字符,会留在缓冲区,等待下次读入。
字符串

如果我们要使用scanf函数来输入的话,有没有办法呢?
答案:有的。

1.扫描集

除了转换修饰符 s 以外,也可以使用“扫描集”(scanset)修饰符来读取字符串它由方括号所包含的一串无序字符组成([scanset])。scanf()函数接着读取所有字符,然后将它们存储为一个字符串(带有字符串终止符),直到遇到不匹配扫描集中任一字符时才停止。

int main()
{char arr[50] = { 0 };scanf("%[123456789]", arr);printf("%s", arr);return 0;
}

字符串输出

此时我们会发现一个问题,就是扫描集只能识别扫描集里面的字符。
不过没关系,我们只需要改动一点点就行,这样不行的话,我们就反着来。

2.逆向使用扫描集

逆向使用转换扫描集(也就是说,除扫描集中的字符外,其他都符合),做法是在扫描集的左括号后面加上一个插入号(^)。

int main()
{char arr[50] = { 0 };// \n是按下回车后输入的,[^\n] 的意思是 除了\n之外的字符scanf("%[^\n]", arr); //字符串末尾有\0printf("%s", arr);return 0;
}

扫描集

缓冲区

使用scanf时,最后的\n(按下回车时输入的)会遗留在缓冲区中,如果使用scanf,则需要使用gerchar()将缓冲区的Enter吃掉

二.gets函数

	char arr[50] = { 0 };gets(arr);  //末尾有\0puts(arr);

gets函数
使用 gets() 时,系统会将最后“敲”(Enter)的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符

总结:
1 .我个人认为使用gets()函数比较方便,同时缓冲区中还不会遗留数据。
2.如果要使用scanf()函数,那么使用逆行扫描集会好很多,同时也需要注意缓冲区中的\n


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

相关文章

字符串的输入

字符串数据作为经常需要使用的数据,我们需要掌握它的输入,下面总结了不同的输入字符串的方式 c和c的有一点点不同 ①逐个逐个字符输入 我们可以设置一个数组,或者数组加指针的形式, 通过for循环或while循环的方式,…

C++字符串的几种输入方法(string和字符数组)

ps:本文大部分内容参考于这篇博客,在这里加入了自己对这些函数在字符数组和string变量的理解和总结。 C中的输入大致有6种方法:cin,cin.get(),cin.getline(),gets(),getchar() 1,cin 用法一:最常用的方法,接收一个字…

制作黑苹果安装U盘(Clover+OC+PE)三引导

制作黑苹果安装U盘(OCCloverPE)三引导 1.删除U盘分区表2.写入dmg到U盘3.替换EFI(Clover引导)4.扩建U盘分区表5.转换U盘分区类型 效果如图所示,嫌麻烦可以关注 黑果小兵的部落阁微信公众号,在“安装镜像”里找"10.15.6 19G73…

MINIS FORUM U820 黑苹果引导OC或CLOVER更新教程

准备工具:1.OC Auxiliary Tools(简称OCAT),OC Auxiliary Tools for Mac-OC Auxiliary Tools Mac版下载 V0.6.9-PC6苹果网 即新OC引导的编辑器,须与OC引导版本相对应,否则容易出错;2.Clover ConfiGurator&a…

黑苹果引导介绍篇

引导篇 1、EFI分区:全称是EFI System Partition(ESP),是一个使用FAT16或FAT32的系统引导物理分区,支持EFI模式的电脑需要从ESP分区启动系统,EFI固件可从ESP加载EFI启动程序或者应用。目前主流的Clover安装的黑苹果,普…

WINDOWS系统下四叶草CLOVER引导U盘制作

1、进入WINDOWS系统,下载Boot Disk Utility ,解压并打开它。插入U盘; 2、点击Options设置,根据图选或者默认,点击OK; 制作不成功的请参照下面纠正:(需要点开U盘的+下面的U盘&#x…

MacOS+Win10 双系统引导程序 Clover 的修复

首先,请做好以下准备工作: 1)特定型号笔记本的EFI引导文件 2)WinPE启动盘一枚 3)DiskGenius 打开DiskGenius,我们可以看到磁盘列表 第一个磁盘,即ESP,是系统的引导盘。 开机之后&…

四叶草Clover引导界面的快捷键大全

四叶草Clover引导界面的快捷键,比如截屏之类的。 Clover 快捷键 Esc 退出子菜单或刷新主菜单 F1 显示帮助信息 F2 *保存preboot.log日志文件到/EFI/misc F4 *保存原始DSDT到/EFI/ACPI/origin F5 *保存初步修复的DSDT到/EFI/ACPI/origin F6 *保存显卡Bios文件到/EF…

折腾黑苹果 - 制作四叶草CLOVER引导U盘

最近开始瞎折腾黑苹果,几天下来发现其实安装本身不算难,但完善驱动真的很需要耐心。驱动的完善跟硬件本身有很大关系,如果你的同款硬件恰好被苹果的某款机型用过,很有可能装完系统后就直接被正确识别了,也就是所谓的“…

黑苹果制作Clover开机引导脱离U盘,小新Pro13详细教程

前言 小新Pro13在成功安装好黑苹果之后,心情是否很激动?但是想到每次开机都要插入U盘,总不能一直这样吧,放心!这些问题大神(不是指我)都已经考虑好了,目前主要有Clover和OC这两种方…

通过CLOVER 引导Windows与Linux双系统

通过CLOVER 引导Windows与Linux双系统 什么是CLOVER为什么是 CLOVER 引导?正式操作1、准备工具2、配置 CLOVER 文件搜索 GUI 关键字,Entries区域为引导文件的相关信息搜索关键词:Boot搜索关键词:Scan,配置扫描哪些引导…

Clover 引导器.配置助手

Clover 引导器.配置助手.Yosemite版块.更新贴 Beta 2.0 为了让各位下载更方便本帖不设置回帖可见 希望路过的朋友帮顶 有需要的朋友顶个帖 让更多后来者们看见 提取码[编译PKG]py81[编译EFIboot1h2]8ctu[编译ISO&a…

使用OpenCore引导黑苹果

一.OpenCore简介 笔者在17年写过一篇黑苹果安装教程:黑苹果系统安装通用教程(Clover引导),不过该文章用的是基于Clover引导的MacOs系统。目前随着黑苹果的另一款引导工具OpenCore不断成熟,使用OC是大势所趋。众多黑苹果驱动的作者已经停止对…

黑苹果引导工具 Clover 配置详解及Clover Configurator使用

黑苹果引导工具 Clover 配置详解及Clover Configurator使用 2017-03-11 14:01:40 by SemiconductorKING 转自:三个表哥 简介: 可引导mac os 10.4-10.12,win efi,linux efi 可引导传统操作系统 (WindowsXP,Linux&#x…

黑苹果引导工具 Clover 配置详解

各位黑果粉们,大家好!今天我为大家介绍Clover Configurator(四叶草设置助手)的使用方法。关于Clover Configurator,clover党们都知道它是clover配置助手,让config.plist的编辑实现可视化、直观化、傻瓜化,修…

不借助任何工具将CLOVER引导添加进UEFI的正确姿势(简单暴力版本)

经常安装hackintosh的同学会发现,安装完macOS后,需要做的第一件事情就要将EFI移进机器自带的磁盘中,同时添加CLOVER引导项到UEFI中以实现CLOVER引导加载macOS。通常的作法是进Windows/PE工具里,使用类似EASY UEFI或者BOOTICE之类的…

Clover 引导 Windows 及 Linux 双系统

Clover 引导 Windows 及 Linux 双系统UEFI cnblogs Orcim    此 文比较详细地介绍了通过修改 Clover 的配置文件,添加 Clover 启动项的方法(添加 Ubuntu 启动项)。 此文阅读前提,假定你已经完成安装 Clover 至硬盘 EFI 分区&am…

Clover引导简明教程

如何打开啰嗦模式进行排错 开机进入clover引导界面, 勾选以下选项: 选择 Boot macOS with selected options 启动 出现错误画面拍照发群里寻求帮助。 Clover是什么 什么是Clover(三叶草)呢?显然它不是指的草地…

安装CLOVER引导器到硬盘EFI分区

彻底脱离CLOVER引导U盘 目录: 1使用EFI TOOLS Clover 安装CLOVER引导器到EFI分区。 2使用Clover v2.3k rXXXX.pkg 安装CLOVER引导器到EFI分区 前言 我们的电脑里已经安装好了双系统,但是之前都是通过启动CLOVER引导U盘进行引导双系统的。 本章节内容&…

bootice添加黑苹果引导_OpenCore Configurator v2.6.0.0 黑苹果OC引导配置工具

黑苹果系统安装 本公众号提供黑苹果系统安装服务,通过公众号安装的粉丝,都可以获取一定的优惠。如需在笔记本或台式机上安装黑苹果系统,请联系QQ:2103717429咨询! 百度云超级会员出租,2T空盘出售 本站提供百…