sscanf与sprintf是C语言处理字符串的利器,可以用于快速格式化字符串。

我们知道,C语言中的输入和输出函数:printf和scanf第一个参数是格式化输出的内容。

例如%d为整数,%f为浮点等等,%d+%d表示格式为"整数+整数"的格式。总而言之,就是格式化输入或输出的内容。

可以说sscanf,sprintf与scanf,printf的差别在于,后者以用户的输入作为输入输出流,而前者以程序运行内存中的变量作为输入或输出流。

(这么说是不严谨的,只是为了更好的理解嘛。。。)

举个简单的栗子:

#include

int main(void){

char a[10] = "Hello";

char b[10] = "World";

char str[20];

sprintf(str,"%s %s !",a,b); //将a和b按照 "%s %s !" 的格式输出到str中

puts(str);

return 0;

}

运行结果:

可以理解为sprintf是用第二个参数去格式化后面的量,然后将结果给第一个参数。

再看看sscanf:

#include

int main(void){

char str[] = "hello world";

char a[10], b[10];

sscanf(str,"%s %s",&a,&b); //将str当作输入流,按照 "%c %c" 格式化并分别给a和b

printf("a = %s,b = %s",a,b);

return 0;

}

运行结果:

使用这两个函数要注意:这两个函数的参数均为:第一个参数为字符串数组,第二个参数为格式,第三个以后的参数为其他变量。

另外,如果字符串数组不是char数组,而是C++的string,不可以直接用sscanf,应该用c_str()函数将string转化为char数组,例如:

sscanf(str.c_str(), "%d", &a);

否则编译器会报无法转换类型的错误

c语言从html控件sscanf,sscanf与sprintf在C语言中的用法相关推荐

  1. .net语言_Excel处理控件Aspose.Cells v20.3 Java.NET语言开启3月新版功能

    Aspose.Cells for .NET是Excel电子表格编程API,可加快电子表格管理和处理任务,同时支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序. 近日,.NET版As ...

  2. 转大佬--C++语言Qt实现控件拖拽和连线类似可视化操作Simulink仿真类软件 电路仿真软件 和模型驱动等软件

    转自–标biao的文章:https://blog.csdn.net/kangkanglhb88008/article/details/120812524 目标:开发一个电路仿真软件. 内部原理:qt编 ...

  3. KingPager,自己做的分页控件,纯JS,支持所有语言

    效果图如下: 简介: 1.JQuery分页控件,纯JS,支持任何语言 2.全部样式可通过CSS自定义(默认的就很好看) 3.非常灵活,1行代码即可实现分页 调用示例: <html xmlns=& ...

  4. 使用vs2008c++语言开发activex控件教程,VS2008 在IE中 调试 ActiveX控件

    不知道是不是微软的粗心大意,VS2008中竟然没有ActiveX控件测试容器. 幸好需要在IE中测试控件,就不需要那个测试容器啦. 1. 生产测试控件的HTML: Test CLASSID=" ...

  5. 河南税务局网站添加到IE浏览器可信站点中,启用“ActiveX控件和插件”,将安全级别设置为‘中’的具体操作

    河南税务局网站http://etax.henan.chinatax.gov.cn/ 添加到IE浏览器可信站点中,启用"ActiveX控件和插件",将安全级别设置为'中'的具体操作 ...

  6. c语言窗口插件,C语言使用ActiveX控件

    ActiveX使用的头文件,是只有C++才能用的,C语言要使用ActiveX控件,也是件很容易的事. 微软标准的ActiveX控件,根本上它还是一个窗口(Window),通俗地说就是关联了一个或多个C ...

  7. C++语言Qt实现控件拖拽和连线类似可视化操作Simulink仿真类软件 电路仿真软件 和模型驱动等软件

    目标:开发一个电路仿真软件. 内部原理:qt编写电路元件连接的可视化界面,输出电路节点连接关系为一张表.matlab编写电路仿真算法,读取节点连接表,进行运算,得出仿真结果,qt读取仿真结果并且在界面 ...

  8. 深入浅出CChart 每日一课——快乐高四第三十课 麦正帮主,ActiveX控件巨鲸帮巨鲸岛之易语言篇

    现在呢,笨笨来揭晓上节课留下的悬念.其实笨笨想再介绍一下CChart在著名的国产语言易语言里面的应用. 下一段介绍来自百度百科. 易语言是一门以中文作为程序代码编程语言,其以"易" ...

  9. 使用vs2008c++语言开发activex控件教程,使用VS2008C 开发ActiveX控件.pdf

    使用VS2008C 开发ActiveX控件 VS2008 C#ActiveX VS2008 C#ActiveX VVSCC##AAccttiivveeXX控件开发总结 ------EagleInSky ...

最新文章

  1. 【组队学习】【29期】1. 编程实践(数据可视化)
  2. mysql中列的增删_mysql中怎么增删一列
  3. SNMP AGENT函数介绍
  4. android gradle 给所有的buildFlavor 的versionName 增加一个后缀
  5. tank html5,index.html
  6. 网管型工业交换机如何创建网络冗余
  7. mnist torch加载fashion_Pytorch加载并可视化FashionMNIST指定层(Udacity)
  8. Golang——包引入和闭包
  9. 函数的实参 函数的形参 闭包 js 1
  10. 五月职场胜如火 Java讲座陪您过
  11. 开源中国 2017 元旦寄语
  12. Docker 搭建 YApi 可视化接口管理平台
  13. 写一个最简单的mysql编程_要学简单的数据库编程!
  14. excel文件运行报错(xx.xlsx)不是有效的win32应用程序
  15. Go 每日一库之 go-flags
  16. 利用VSCode+platformio学习esp32开发
  17. Linux Kernel Security全景图系列之开篇
  18. Android 10 手机端控制车载蓝牙音乐上一首、暂停、下一首、获取音乐信息等流程
  19. 电脑高手常用技巧应用全接解
  20. 怎么查看linux自动校验时间,linux校验时间

热门文章

  1. IPv6名称到地址的转换函数getaddrinfo()详解
  2. C++ Templates 中的一个例子
  3. 如何用Python探究你喜爱的歌手?大数据还是很厉害的
  4. opengl实现经纹理映射的旋转立方体_《图形编程技术学习》(五十三)环境映射...
  5. 无监督学习 | DBSCAN 原理及Sklearn实现
  6. 在线WGCNA分析 (直接出交互式结果报告)
  7. NCB|心咽发育多样化的单细胞转录轨迹分析
  8. 在Mac上唤出「快速备忘录」的开启与关闭设置教程
  9. 更新macOS Monterey后遇到的各种Bug问题及解决方法
  10. linux mysql 临时文件_linux下mysql自动备份数据库与自动删除临时文件