c语言字符串输入

article/2025/11/5 20:01:40

   如果想把一个字符串读入程序,首先必须预留储存该字符串的空间,然后用输入函数获取该字符串。

分配空间

1.char *name;

2.char name[81];

 

1,2 的不同点:1.的指针在未进行初始化之前可能指向任何地方。

                        2.已分配了81个字节的地址。

  char *name;

  scanf("%s",name); // 错误 会将输入的字符串拷贝到任何地方可能会擦写掉程序中的数据或代码。

为字符串分配内存后便可读入字符串。

利用输入函数获取字符串

  1.scanf()函数。

弊端:只能读取一个单词。

原理:如果输入了空格会认为字符串结束,将空格的字符作为下一个输入处理。

例如:scanf("%s",name); 输入:aas df 会将aas放入地址中再在后面自动添加'\0',并将df作为下一个输入处理。

#include <stdio.h>
int main()
{
char ch1[10],ch2[10];scanf("%s",ch1);scanf("%s",ch2);printf("%s,%s",ch1,ch2);
return 0;
}

2.gets()函数。

弊端:该函数只知道数组的开始处,并不知道数组的大小,如果输入的字符串过长容易溢出,可能擦写掉程序中的其他数据导致程序异常终止。

原理:读取整行的输入直至遇到换行符,然后丢弃换行符,储存其余字符,并在这些字符末尾添加一个空字符使其成为一个字符串。

#include <stdio.h>
int main()
{
char ch1[10],ch2[10];gets(ch1);scanf("%s",ch2);printf("%s,%s",ch1,ch2);
return 0;
}

3.fgets()函数。

  gets()的参数只有数组的地址,而fgets()函数的参数有三个。

  fgets(将要输入字符串的地址,读入字符的最大数量,要读入的文件) 

通过第二个参数来限制读入字符的数量解决gets()的溢出的问题。

终止条件:①读入n-1个字符②遇到第一个换行符

原理:①终止在末尾添加一个空字符。

           ②终止保留换行符再在末尾添加一个空字符。 

返回值:当读到文件末尾时返回空指针。  

 

 

 

 


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

相关文章

C语言字符串的输入和输出

文章目录 前言一、使用字符数组二、使用字符数组和字符结合三.字符串处理函数 前言 C语言中没有提供字符串的数据类型&#xff0c;一般用字符数组存储字符串。 如果要输入输出字符串怎么办呢&#xff1f;下面三种方法可供参考。 一、使用字符数组 1.示例&#xff1a; char st…

字符与字符串的输入输出

字符、字符串的输入输出 scanfprintfgetcharscanf与getchar的区别 putchargetsfgetsputscin与coutgetlinecin.getline scanf 不接受空格&#xff0c;回车结束输入 scanf("%c",&a)&#xff1b; 读取标准输入流中的第一个字符&#xff0c;包括空格、换行符等&…

python字符串输出和输入

一、字符串输出 回顾一下以前我们经常写的print()输出数据&#xff0c;输出的就是字符串。下面来看看具体点的代码操作。 代码如下&#xff1a; # 直接输出单引号或双引号或三引号格式字符串 print(hello world)# 2种格式化方法输出字符串 name Python自学网 print(欢迎来到%…

C语言字符串输入及输出的几种方式

1.字符串数组初始化 char s1[]"array"; //字符数组 char s2[6]"array"; //数组长度字符串长度1&#xff0c;因为字符串末尾会自动添‘\0‘ printf("%s,%c\n",s1,s2[2]); //array&#xff0c;r 2.字符串指针初始化 char *sp"pointer&quo…

C++的字符串输入方式

1、cin输入字符串 接收一个字符串&#xff0c;遇到空格和tab键结束接收&#xff0c;回车键表示输入结束&#xff1b;此外定义a[20]&#xff0c;则字符串长度要小于20&#xff0c;最后有个’\0’(否则输入超过20的连续字符串会报错)。 2、cin.get()输入字符 接收第一个字符并赋…

教程篇(7.0) 03. FortiGate安全 防火墙策略 ❀ Fortinet 网络安全专家 NSE 4

在本课中你将了解防火墙策略&#xff0c;以及如何应用它们来允许和拒绝通过FortiGate的流量。FortiGate的核心是一个防火墙&#xff0c;所以它对你的流量所做的几乎所有事情都与你的防火墙策略相关联。 本节课你将学习上图显示的主题。 通过展示识别防火墙策略的不同组成部分的…

Linux之防火墙策略

防火墙 防火墙&#xff08;Firewall&#xff09;&#xff0c;也称防护墙&#xff0c;是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网&#xff08;US5606668&#xff08;A&#xff09;1993-12-15&#xff09;。防火墙是位于内部网和外部网之间的屏障&#xff0c;…

Linux下管理防火墙策略

目录 1. 防火墙管理工具的切换2. iptables的使用3.关于firewalld的域4.firewalld的基本管理命令5.firewalld的高级规则6.firewall中的NAT规则 防火墙是一组规则。当数据包进出受保护的网络区域时&#xff0c;进出内容&#xff08;特别是关于其来源、目标和使用的协议等信息&…

基础防火墙策略

基于NAT的防火墙策略 原理:通过配置防火墙策略,实现内网可以通过防火墙访问外网,外网不能主动访问内网,保证了局域网的安全性。 上图为本次实验的简略图。 准备工作:外网设为桥接模式,内网设为仅主机模式,防火墙两个模式都有。 步骤: 首先把所有的不必要的防火墙策略…

A模块练习-防火墙策略

说明&#xff1a;iptables 组件是一种工具&#xff0c;也称为用户空间&#xff08;userspace&#xff09;&#xff0c;它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本&#xff0c;否则需要下载该工具并安装使用它。 防火墙策…

Linux进阶(10)--防火墙策略优化

一.火墙介绍 从RHEL7以后&#xff0c;iptables服务的启动脚本已被忽略。请使用firewalld来取代iptables服务。 防火墙是一组规则。当数据包进出受保护的网络区域时&#xff0c;进出内容&#xff08;特别是关于其来源、目标和使用的协议等信息&#xff09;会根据防火墙规则进行检…

H3C 防火墙策略介绍

注意点&#xff1a; H3C防火墙有安全策略和域间策略&#xff0c;安全策略的优先级大于域间策略&#xff0c;会优先匹配安全策略&#xff0c;匹配不到才会匹配域间策略 域间策略&#xff1a;any to any的域间策略优先级低于具体的区域到具体的区域的域间策略 安全策略匹配顺序…

防火墙策略管理-firewalld

1.拓扑图 2.firewalld服务基础 1、Linux防火墙体系 系统服务&#xff1a;firewalld 管理工具&#xff1a;firewalld-cmd、firewalld-config 2、预设安全区域 ①、根据所在的网络场所区分&#xff0c;预设保护规则集 public&#xff1a;仅允许访问本机的sshd等少数几个服务 tru…

firewalld 防火墙策略

一 下面都是在public区 firewalld防火墙默认情况下(也就是public区域)是拒绝所有的&#xff0c;但是public区默认情况下ping和ssh服务都是放开的 [rootnode-1 ~]# firewall-cmd --list-all --zone public public (active)target: defaulticmp-block-inversion: nointerface…

win10 配置防火墙策略

说明 某些情况下&#xff0c;我们想在不关闭防火墙的情况下&#xff0c;开放一些特定的端口&#xff0c;使得特定的应用可以访问本机应用。我们可以配置自定义的防火墙策略来解决这个问题。 配置 控制面板 > 系统和安全 > Windows Defender 防火墙 高级设置 入站规…

防火墙策略管理小工具——网络安全

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、防火墙配置文件1. 地址集合2. 服务集合3. 规则集合 二、防火墙策略管理小工具的开发1. 主要功能2. 框架设计2.1 IP_Set对象2.2 Service对象2.3 Rule对象2.4…

飞塔防火墙策略设置

上周公司要求对一些电脑进行上网限制&#xff0c;只允许部分软件上网。 一、添加地址&#xff1a;在“策略与对象”--“地址”--“新建” 二、输入IP地址&#xff1a;&#xff08;最大陷阱&#xff0c;公司是使用无线上网&#xff0c;对飞塔而言&#xff0c;整个无线网是一个端…

防火墙策略配置

拓扑 任务一 c2 ping c1 &#xff0c;c1 not ping c2 首先我们要做的就是配置接口、网关、子网掩码&#xff0c;使得c1与c2可以互ping 如上图&#xff0c;我们先开启两个客户机&#xff0c;为方便测试。 命令 syssysname FWdis ip int br 查看状态int g0/0/1ip add 192.168.…

防火墙的策略

1.防火墙支持哪些NAT技术&#xff0c;主要的应用场景是什么&#xff1f; 首先&#xff0c;NAT的分类&#xff1a; 在内外网之间&#xff0c;流量进出的两个方向&#xff0c;而NAT技术是包含源地址转换和目标地址转换这两类&#xff0c;在通常的情况下&#xff0c;源地址转换是…

HCIA-Security -- 防火墙安全策略

防火墙安全基本原理 安全区域安全策略状态检测和会话机制ASPF技术防火墙在网络安全中的应用场景 一、防火墙安全基本原理 防火墙不仅只是一个“入口的屏障”&#xff0c;而应该是多个网络的接入控制点。所有进出内网的数据流都应该首先经过防火墙&#xff0c;形成一个信息进出…