`
liuguxing
  • 浏览: 94952 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sprintf和sscanf

    博客分类:
  • C
 
阅读更多
sprintf:把变量打印到字符串中,从而获得数字的字符形式(可以实现将整形转换成字符型)

sscanf: 从一个字符串中读进与指定格式相符的数据. 格式可以是整型数据等。

sprintf应用举例:

view plaincopy to clipboardprint?#include <stdio.h> 
int main ()
{
    char c[100];
    int k=255;
    sprintf(c,"%d",k);
    printf("%c",c[1]);
    return 0;
}
#include <stdio.h>
int main ()
{
char c[100];
int k=255;
sprintf(c,"%d",k);
printf("%c",c[1]);
return 0;
}

ssanf应用举例:

view plaincopy to clipboardprint?/* sscanf example */
#include <stdio.h> 
int main ()
{
  char sentence []="Rudolph is 12 years old";
  char str[20], str1[20];
  int i;
  sscanf (sentence,"%s %*s%d %s",str,&i,str1);  //%*s 跳过此数据不读入 
  printf ("%s -> %d/n",str,i);
  printf("%s",str1);
  return 0;
}

转自:http://blog.csdn.net/wo175eufgnrfg/article/details/6415262
 
sscanf可以支持格式字符%[ ] 这为分析字符串提供了很大方便(其实scanf也支持%[ ]),先看一下%[ ] 格式:
(1)-: 表示范围,如:%[1-9]表示只读取1-9这几个数字 %[a-z]表示只读取a-z小写字母,类似地 %[A-Z]只读取大写字母
(2)^: 表示不取,如:%[^1]表示读取除'1'以外的所有字符 %[^/]表示除/以外的所有字符
(3),: 范围可以用","相连接 如%[1-9,a-z]表示同时取1-9数字和a-z小写字母
(4)原则:从第一个在指定范围内的数字开始读取,到第一个不在范围内的数字结束 %s可以看成%[ ] 的一个特例 %[^ ](注意^后面有一个空格!)

这样使用sscanf+%[ ]可以轻松的分析字符串,很多字符串问题便迎刃而解了

(1)常见用法。
char str[512] ={0};
sscanf("123456 ", "%s", str);
printf("str=%s\n", str);
操作后:str中为"123456"

(2)取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
sscanf("123456 ", "%4s", str);
printf("str=%s\n", str);
操作后:str中为"1234"

(3)取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
sscanf("123456 abcdedf", "%[^ ]s", str);
printf("str=%s\n", str);
操作后:str中为"123456"

(4)取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
sscanf("123456abcdedfBCDEF", "%[1-9,a-z]s", str);
printf("str=%s\n", str);
操作后:str中为"123456abcdef"

(5)取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF", "%[^A-Z]s", str);
printf("str=%s\n", str);
操作后:str中为"123456abcdef"
分享到:
评论

相关推荐

    sscanf和sprintf输入输出控制

    ### sscanf和sprintf输入输出控制 #### 一、sscanf函数详解 **sscanf** 是一个强大的函数,用于从字符串中解析格式化的输入。它的工作原理类似于 **scanf** 函数,但是 **sscanf** 从一个字符串中读取数据而不是从...

    sscanf,sprintf,fscanf,fprintf 系列函数的用法小结 doc

    ### sscanf,sprintf,fscanf,fprintf 系列函数的用法小结 #### 1. sscanf函数 **函数原型:** ```c int sscanf(const char *str, const char *format, ...); ``` **功能说明:** `sscanf`函数类似于`scanf`,...

    frmttr:OCaml 中的类型安全 sprintf 模拟

    Repository 提供了简化的sprintf和sscanf类似物。例子 open Frmttrlet () = let fmt = Lit " some string " || Int || Lit " some other string " || Int in let str = sprintf fmt 1 5 in assert (str = " some ...

    matlab与C语言的区别[收集].pdf

    在字符串处理上,MATLAB提供了num2str和str2num函数,分别用于数字转字符串和字符串转数字,而C语言中,通常使用sprintf和sscanf等函数进行相应操作。MATLAB中的eval函数可以执行字符串表示的MATLAB命令,类似于...

    Linux资源管理器

    此外,开发过程中,利用strtok进行字符串分割,sprintf和sscanf函数处理字符串,以提取和格式化从/proc文件系统读取的数据。编译时,使用`pkg-config`来处理GTK+2.0的依赖,确保正确链接库。运行时,程序会显示一个...

    fprintf、printf、sprintf、fscanf、scanf、sscanf_格式化输入输出

    fprintf、printf、sprintf、fscanf、scanf、sscanf_格式化输入输出

    浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别

    在C语言中,`printf()`, `sprintf()`, `scanf()`, 和 `sscanf()` 都是与输入输出相关的函数,它们都遵循类似的格式化规则,但用途和工作方式有所不同。下面将详细阐述这些函数的用法和特点。 1. **printf()**: - ...

    目录版fprintf_sscanf_等格式化输入输出

    带有目录查询的fprintf、printf、sprintf、fscanf、scanf、sscanf_格式化输入输出

    深入分析C中不安全的sprintf与strcpy

    经过跟踪调试, 发下不少 bug 源于 sprintf 和 ... 您可能感兴趣的文章:浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别基于C语言sprintf函数的深入理解C++中sprintf()函数的使用详解基于C++中sprintf的错

    易语言rdp加解密

    易语言rdp加解密源码,rdp加解密,RDP加密,RDP解密,Ansi转Unicode,指针到文本_Unicode版,Unicode转Ansi,CryptProtectData,CryptUnprotectData,lstrcpyn_字节,LocalFree,sprintf,sscanf,lstrcpyn_文本,GlobalAlloc,...

    MATLAB字符串转换[参考].pdf

    这些函数包括 abs、dec2hex、fprintf、hex2dec、hex2num、int2str、lower、num2str、setstr、sprintf、sscanf、str2mat、str2num、upper 等。 字符串转换函数 1. `num2str`:将数字转换为字符串。例如,`t = ['A ...

    性能测试_loadrunner脚本录制的常用函数

    在 Loadrunner 中,还有许多其他的函数可以用于字符串处理和数据转换,如 sprintf、sscanf、fopen、fclose 等。这些函数可以灵活地组合使用,以满足不同的性能测试需求。 在实际应用中, Loadrunner 脚本录制的常用...

    C51进制转换工具

    1. 在C51中,通常使用位运算符(如、&gt;&gt;、&、|等)进行二进制操作,而使用标准的C函数(如sprintf、sscanf等)进行进制转换。例如,可以用以下代码将一个16进制数转换为字符串: ```c char hexStr[9]; sprintf(hex...

    江苏省二级(C语言)考试真题重点题型分类总结ppt

    C语言中的字符串是以'\0'结尾的字符数组,常用函数有strlen计算字符串长度,strcpy、strcat复制字符串,strcmp比较字符串,以及sprintf、sscanf进行格式化输入/输出。 5. **变量作用域与静态变量**: 变量的作用...

    ACM_算法模板集史上最完整收藏版223页pdf

    - 如malloc、free、memset、sprintf、sscanf等。 - 这些函数在C/C++语言中处理内存分配、字符串操作等任务中必不可少。 通过以上知识点,我们可以看出ACM算法模板集是一个包含算法理论、算法实现以及常用函数库的...

    C语言面试题

    3. 格式化字符串处理:理解sprintf, sscanf等函数的用法。 八、C语言的限制与陷阱 1. 位运算的边界问题:了解整数溢出和位运算可能导致的非预期结果。 2. 函数调用的栈空间:理解局部变量的生命周期和栈空间的限制...

    C语言中常用的标准库函数程序设计语言.pdf

    1. 标准输入输出库:提供了文件和控制台的输入输出函数,如fopen、fclose、fgetc、fputc、fgets、fputs、scanf、printf、sprintf、sscanf等。这些函数支持文本的读写、格式化输入输出等操作。 2. 标准库:包含了...

    C中数字与字符串之间的转换2.pdf

    在C++编程中,数字与字符串之间的转换是常见的操作,特别是在处理用户输入、显示输出以及数据存储时。...正确理解和使用这些函数和类,可以有效地在数字和字符串之间进行数据交互,从而实现更复杂的编程任务。

    C语言标准库源代码.zip

    "描述"中提到了几个关键的函数:printf、sprintf、scanf和sscanf。这些函数都属于C语言的输入输出(I/O)功能,主要处理格式化字符串的输出和输入。 1. **printf** 函数:这是C语言中最常用的输出函数,用于将格式...

Global site tag (gtag.js) - Google Analytics