`
liuguxing
  • 浏览: 97331 次
  • 性别: 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命令,类似于...

    OSTRINT.CPP

    2. 数值转换:C标准库提供了转换数据类型为字符串的函数,如sprintf和sscanf,这些函数能够将整数、浮点数等转换为字符串形式,或者反过来将字符串转换为数值。 3. 字符处理:C标准库中提供了许多处理单个字符的...

    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_格式化输入输出

    SSCANF.C

    4. 解析函数:在C语言中,处理字符串数据的函数除了 scanf,还有 sscanf 和 sprintf 等。sscanf 用于从字符串中解析数据,sprintf 则用于将格式化数据写入到字符串中。 5. 自定义解析:在某些情况下,标准库提供的...

    深入分析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...

    IOS.CPP

    3. 格式化输入输出:C语言允许格式化的输入输出,如sprintf、sscanf等,这些函数的实现也在《IOS.CPP》中有可能被详细展示。 4. 错误处理:源码中会包含对标准库函数中可能出现错误的处理逻辑,比如错误代码的返回...

    江苏省二级(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. 函数调用的栈空间:理解局部变量的生命周期和栈空间的限制...

Global site tag (gtag.js) - Google Analytics