c语言scanf fscanf sscanf_fsancf怎么判断-程序员宅基地

技术标签: c语言  开发语言  

1.scanf

概念

scanf用于从键盘(标准输入流)中读取数据,会返回成功读取到数据的个数

stdin 为标准输入流,这里指从键盘输入的数据

比较简单,这里不多介绍了。

用法

#include<stdio.h>
int main()
{
    int a =0;
    scanf("%d",&a);
    printf("%d",a);
    return 0;

}

2.fscanf()

概念

可以看出,描述与scanf基本相同。

fscanf可以从所有流中读取数据,使用方法与scanf差不多

失败会返回EOF

用法

1.从文件中读取数据
int main()
{
	FILE* pf = fopen("text.txt", "r");//流的地址
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	int a;
	float b;
	char m[10];
	fscanf(pf, "%d %f %s", &a, &b, m);
	printf("%d %f %s", a, b, m);
	fclose(pf);
	pf = NULL;
	return 0;
}
2.从键盘读取数据

我们知道stdin是标准输入流。所以只需把stdin当成参数传进去就行

#include<stdio.h>
int main()
{
    int a =0;
    fscanf(stdin,"%d",&a);
    printf("%d",a);
    return 0;
}

3.sscanf

概念

对比可以看出,这个函数是从字符串中读取数据。

失败的话会返回EOF

用法

int main()
{
	char* str = "abcdefg 100 3.14";
	char s1[10];
	int a;
	float b;
	sscanf(str, "%s %d %f", s1, &a, &b);
	printf("%s %d %f", s1, a, b);
	return 0;
}

4.进阶用法

以sscanf举例

1.指定精度

2.指定读取范围

#include<stdio.h>
int main()
{

	char str1[20];
	char str2[20];
	sscanf("123456abcdedf789", "%[0-9]",str1);
	printf("str1=%s\n", str1);
	sscanf("123456abcdedf789", "%[0-9a-z]", str2);
	printf("str2=%s\n", str2);
	return 0;
}

[^a-z]不读取a-z中的字符

%*[a-z]%[1-9]  两次读取,第一次不反回,第二次返回。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/l23456789mmmmm/article/details/133604600

智能推荐

李宏毅2022机器学习/深度学习 个人笔记(3)-程序员宅基地

文章浏览阅读263次。接下来李宏毅教授介绍了梯度下降的优化方案,如采用动量、RMSProp、Learning Rate Decay、Warm Up等。接下来介绍遇到鞍点时的优化办法。接下来探讨,当optimization不佳的时候,如何判断是遇到了鞍点还是遇到了局部最小值点?而红框是一个二次型,若二次型矩阵是正定或者负定的,则可直接判断出该点是局部最小还是局部最大。本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点。当然,这个方法不多用,只是介绍,顺便复习有关知识即可。关于多元函数泰勒公式,可参考。

vue多层嵌套下的数据绑定_vue多层嵌套数据绑定-程序员宅基地

文章浏览阅读4.2k次。vue作为数据驱动,通过数据和视窗view层绑定,操作数据即可触发view层的更新,所以数据绑定尤为重要单层的数据绑定很简单,父组件传值进去,子组件通过props获取,然后通过$emit事件携带参数回调父组件<v-child :vlaue="data" @update="update"></v-child>子组件<template> <inp..._vue多层嵌套数据绑定

人工智能与计算弹性:拓展人类思维的边界-程序员宅基地

文章浏览阅读882次,点赞10次,收藏17次。1.背景介绍人工智能(AI)是一种通过计算机程序模拟人类智能的技术。计算弹性(Cloud Computing)是一种通过互联网提供计算资源的服务。在过去的几年里,计算弹性和人工智能逐渐相互依赖,共同推动了人类思维的发展。本文将从以下几个方面进行探讨:背景介绍核心概念与联系核心算法原理和具体操作步骤以及数学模型公式详细讲解具体代码实例和详细解释说明未来发展趋势与挑战附录常见问题与...

视频测试地址_竖屏视频测试网站-程序员宅基地

文章浏览阅读5.4k次。/** 视频链接 */竖屏视频#define videoURL1 @"http://yun.it7090.com/video/XHLaunchAd/video01.mp4"#define videoURL2 @"http://yun.it7090.com/video/XHLaunchAd/video02.mp4"#define videoURL3 @"http://yun.it7090.com/v..._竖屏视频测试网站

Qt QTableWidget表格控件的用法(非常详细)_qt中的tablewidget控件里面的表格只能上下翻页拉动滑块但是不能左右拉动滑块-程序员宅基地

文章浏览阅读2.6w次,点赞61次,收藏473次。Qt QTableWidget表格控件的用法(非常详细)QTableWidget 是 Qt 提供的一种表格控件(如图 1 所示),类似于我们经常使用的 Excel 表格,可以将数据以表格的方式展示给用户。整个 QTableWidget 表格可以分为 3 个区域:区域 ① 和 ② 都是表头,区域 ① 设置每一行的表头,区域 ② 设置每一列的表头。我们可以自定义两个区域内的表头,比如第一列是各个教程的名称,所以第一列的表头可以修改为“教程名称”;区域 ③ 为数据区,表格中所有的数据都位于此区域,该区域内_qt中的tablewidget控件里面的表格只能上下翻页拉动滑块但是不能左右拉动滑块

如何成为一名黑客?-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏9次。如何成为一名黑客? Eric Raymond 身为Jargon File的编辑,常有一些..._如何成为一名黑客

随便推点

计算机中丢失msvcp140.dll无法启动此程序怎么办?msvcp140.dll在哪里_无法启动此程序因为计算机丢失msvcp140d.dll-程序员宅基地

文章浏览阅读577次。计算机中丢失msvcp140.dll无法启动此程序怎么办?msvcp140.dll在哪里_无法启动此程序因为计算机丢失msvcp140d.dll

16bit高精度、250MSPS采样率,支持4通道同步采集、2通道同步输出的高速数据采集卡_16bit精度-程序员宅基地

文章浏览阅读723次。N-LINX 是南科复华信息科技研发的一款同时具备交流耦合程控放大器和支持单、双极性宽带信号输入的高速数据采集卡;板载FPGA具备实时信号处理能力,这些特性使N-LINX成为激光雷达、光电倍增管应用以及光纤传感等领域进行信号采集和分析的理想工具。N-LINX提供快速的PCI Express3.0x8数据传输接口,以及灵活配置的硬件组合,获得性能、功耗和成本之间的佳平衡,尤其适合于OEM应用。南科复华高速数据采集卡N-LINX的应用领域,激光雷达系统;光电倍增管采集系统;雷电定位系统等其他相关领域。_16bit精度

自然语言处理学习——基于对比自监督学习的语言模型设计和改进*_自然语言改进算法数据讨论-程序员宅基地

文章浏览阅读1.8k次。基于对比自监督学习的语言模型设计和改进*摘要:最近几年见证了自然语言处理特别是表示学习的预训练模型的蓬勃发展,基于对比学习的自监督模型是其中最火的一种。BERT是近几年来在多种语言处理任务上取得了突出成就,但是它在需要处理句子的任务(例如聚类或语义搜索)效率低下,因为它需要组合地评估许多句子对,这非常耗时。 而Sentence -BERT(SBERT)试图通过学习单个句子的语义表示来解决这一难题,以便可以轻松地访问相似性比较。但是,SBERT接受了带有高质量标记语句对的Corpus培训,这限制了其在标._自然语言改进算法数据讨论

Harbor安装-程序员宅基地

文章浏览阅读459次,点赞10次,收藏7次。Harbor安装

蓝桥杯 算法训练 最短路_蓝桥杯最短路径-程序员宅基地

文章浏览阅读379次。问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n ..._蓝桥杯最短路径

python xlwt模块使用_(转)Python中xlrd和xlwt模块使用方法-程序员宅基地

文章浏览阅读117次。转自:https://www.cnblogs.com/xiao-apple36/p/9603499.html阅读目录xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入。安装12pip install xlrdpip install xlwtxlrd模块使用excel文档名称为联系人.xls,内容如下:(1) 打开excel文件并获取所有sheet1234567impo..._xlwt模块使用方法