`

scanf族函数高级用法

F# 
阅读更多


如何解释 fscanf(fd,"%*[^\n]")
"%[^\n]"表示读输入字符串,直到碰到字符‘\n’为止,其中^表示否的意思

同样的:

sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。

  1. 常见用法。

以下是引用片段:
  char str[512] = {0}; 
  sscanf( "123456 ", "%s ", str); 
  printf( "str=%s\n ", str); 


  2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。

以下是引用片段:
  sscanf( "123456 ", "%4s ", str); 
  printf( "str=%s\n ", str); 


  3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。

以下是引用片段:
  sscanf( "123456 abcdedf ", "%[^ ] ", str); 
  printf( "str=%s\n ", str); 


  4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。

以下是引用片段:
  sscanf( "123456abcdedfBCDEF ", "%[1-9a-z] ", str); 
  printf( "str=%s\n ", str); 


  5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。

以下是引用片段:
  sscanf( "123456abcdedfBCDEF ", "%[^A-Z] ", str); 
  printf( "str=%s\n ", str); 


sacnf(格式化字符串输入) 
相关函数 fscanf,snprintf
 
表头文件 #include<stdio.h>
 
定义函数 int scanf(const char * format,.......);
 
函数说明 scanf()会将输入的数据根据参数format字符串来转换并格式化数据。Scanf()格式转换的一般形式如下
%[*][size][l][h]type
以中括号括起来的参数为选择性参数,而%与type则是必要的。
* 代表该对应的参数数据忽略不保存。
size 为允许参数输入的数据长度。
l 输入的数据数值以long int 或double型保存。
h 输入的数据数值以short int 型保存。
底下介绍type的几种形式
%d 输入的数据会被转成一有符号的十进制数字(int)。
%i 输入的数据会被转成一有符号的十进制数字,若输入数据以“0x”或“0X”开头代表转换十六进制数字,若以“0”开头则转换八进制数字,其他情况代表十进制。
%0 输入的数据会被转换成一无符号的八进制数字。
%u 输入的数据会被转换成一无符号的正整数。
%x 输入的数据为无符号的十六进制数字,转换后存于unsigned int型变量。
%X 同%x
%f 输入的数据为有符号的浮点型数,转换后存于float型变量。
%e 同%f
%E 同%f
%g 同%f
%s 输入数据为以空格字符为终止的字符串。
%c 输入数据为单一字符。
[] 读取数据但只允许括号内的字符。如[a-z]。
[^] 读取数据但不允许中括号的^符号后的字符出现,如[^0-9].
 
返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。
 


分享到:
评论

相关推荐

    C语言scanf用法及有用技巧

    中山大学某位高手总结了一系列关于`scanf`函数的使用技巧,这些技巧有助于更深入地理解`scanf`函数的工作原理及其在实际编程中的应用。 #### 二、基本语法与格式 `scanf`的基本语法格式如下: ```c int scanf(const...

    scanf()函数释疑

    #### 四、`scanf()`函数的高级用法 1. **处理空白字符** `scanf()`默认忽略空白字符(如空格、制表符、换行符等)。如果希望保留这些字符,可以使用`%[^\n]`来读取一行字符,包括空格。 2. **格式匹配** - 在...

    C语言中用指针指向函数的方法及其高级处理技巧的研究与应用

    ### C语言中用指针指向函数的方法及其高级处理技巧的研究与应用 #### 一、引言 在C语言中,虽然不能直接将一个函数作为参数传递给另一个函数,也不能将函数存储在数组或结构体中,但是可以通过使用指向函数的指针...

    sscanf函数的高级用法doc

    通过对`sscanf`函数高级用法的学习,我们可以更加灵活地从字符串中提取我们需要的数据。掌握这些技巧对于处理复杂的文本数据尤其有用。需要注意的是,在实际应用中,为了提高代码的健壮性和易维护性,应该尽量避免...

    scanf详细介绍

    ### scanf函数详解:掌握输入控制的艺术 在C语言编程中,`scanf`函数是处理标准输入流的关键函数之一,主要用于从标准输入设备(通常是键盘)读取格式化的输入数据。`scanf`函数的强大之处在于其灵活性和对各种数据...

    详解函数指针和指针函数

    4. **示例**:在给定的代码示例中,`main()`函数声明并定义了一个函数指针`p`,然后通过`scanf`获取用户输入的两个数,通过`(*p)(a, b)`调用`f`函数,使得`a`和`b`中的较大值被赋给`a`。这个过程展示了如何通过函数...

    <C函数速查手册>实例代码

    这本书不仅涵盖了C语言的基础函数,还包括了许多高级应用,使得读者能够深入掌握C语言的精髓。 在C语言中,函数是程序的基本构建块,它们允许我们将代码组织成可重用的部分。书中详细讲解了以下几大类函数: 1. ...

    sscanf函数的用法.pdf

    五、高级用法 1. 取指定长度的字符串 例如:`sscanf("123456", "%4s", str);` 上面的例子中,sscanf函数将读取最大长度为4字节的字符串。 2. 取到指定字符为止的字符串 例如:`sscanf("123456abcdedf", "%[^ ]...

    linux c函数手册、c、c++函数手册、linux高级编程

    标题和描述中提到的"Linux C函数手册"、"C/C++函数手册"以及"Linux高级编程"构成了一个全面的学习资源包,旨在帮助开发者深入理解并熟练掌握Linux环境下的C和C++编程以及高级系统级编程技术。 首先,"Linux C函数...

    qsort函数常见用法v1.1

    ### qsort函数详解及其在ACM竞赛中的应用 #### 一、qsort函数概述 `qsort`函数是C语言标准库中用于通用数组排序的一个强大工具,它...通过深入理解和实践,可以发掘出更多高级用法,满足各种复杂场景下的排序需求。

    c语言函数指针和指针函数.pdf

    函数指针和指针函数都是 C 语言中的高级概念,它们可以帮助我们编写更加灵活和高效的程序。但是,需要注意的是,在使用函数指针和指针函数时,需要非常小心地处理指针的赋值和使用,以避免程序的崩溃和错误。

    C语言常用函数速查手册.pdf

    比如,printf函数用于向标准输出设备(通常是屏幕)打印输出信息,而scanf函数用于从标准输入设备(通常是键盘)读取输入。 2. 字符串处理函数:字符串处理函数通常包含在头文件string.h中,提供了很多对字符串进行...

    高级语言程序设计:chap07-1-函数初步.ppt

    库函数是由 C 语言系统提供的,例如 scanf() 和 printf() 函数,而自定义函数需要用户自己定义,例如计算圆柱体积的函数 cylinder()。 在使用函数时,需要了解函数的定义、调用和声明。函数的定义通常包括函数类型...

    Linux C 函数详解

    接着,详细讨论了C语言的函数库,如中的输入/输出函数,如printf和scanf;中的字符串处理函数,如strcpy和strlen;中的内存管理函数,如malloc和free等。这些函数是C编程中的常用工具,理解和熟练运用它们是编写有效...

    c语言函数大全及课件

    这个“C语言函数大全及课件”资源包对于初学者来说是一份极佳的学习材料,涵盖了C语言的基础到高级知识,包括各种函数的用法。下面我们将深入探讨C语言中的重要知识点,并结合课件学习的要点进行解析。 一、C语言...

    linux C常用函数用法有例子

    本资源包提供了Linux应用函数的详细信息,包括函数原型、实例和解释,对于Linux C语言开发人员来说是一份非常实用的手册。以下是对其中一些关键函数的详细介绍: 1. **标准输入输出函数**: - `printf()` 和 `...

    C语言函数速查_chm版

    C语言函数速查手册,作为一个高效的学习和查询资源,涵盖了C语言编程中的各种核心函数,旨在帮助程序员快速查找和理解函数的用法。C语言,作为计算机科学的基础,是许多现代编程语言的基石,它的函数库丰富且强大,...

    c函数集(清华)巨好.chm

    熟悉这些函数及其用法能极大地提高编程效率。 4. **自定义函数**:除了标准库函数,用户还可以根据需求定义自己的函数,理解函数的参数传递机制(按值传递或按引用传递)、局部和全局变量的作用域以及递归函数的...

Global site tag (gtag.js) - Google Analytics