怎么找到换域名的网站,网站开发工程师职位概要,化妆品行业网站开发,淄博网站推广优化本期介绍#x1f356; 主要介绍#xff1a;sscanf()、sprintf()这对输入/输出函数#xff0c;并详细讲解了这两个函数的应用场景。 概述#x1f356; 在C语言的输出和输入库中#xff0c;有三对及其相似的库函数#xff1a;printf()、scanf()、fprintf()、fscanf()、spri… 本期介绍 主要介绍sscanf()、sprintf()这对输入/输出函数并详细讲解了这两个函数的应用场景。 概述 在C语言的输出和输入库中有三对及其相似的库函数printf()、scanf()、fprintf()、fscanf()、sprintf()、sscanf()。它们实现不同的功能但会经常被搞混。接下来我就带着大家区分一下这些函数。 详解 scanf() 和 printf()是针对于标准输入输出流的格式化输入输出函数也就是默认输入是从键盘上读取的数据、输出是向屏幕上输出数据的。函数的类型声明如下所示 int scanf( const char *format [,argument]... );int printf( const char *format [, argument]... );fscanf()和fprintf()是针对于所有输入输出流的格式化输入输出函数也就是说你可以用这一对函数对所有的外部设备进行输入输出操作前提是你能提供该外部设备所对应的“流”。函数的类型声明如下所示 int fscanf( FILE *stream, const char *format [, argument ]... );int fprintf( FILE *stream, const char *format [, argument ]...);相较于前两对函数而言sscanf()和 sprintf()并不是用于外部设备之间进行数据传输而是实现格式化数据与字符串之间的转换。函数格式如下所示 sprintf() 将一个格式化的数据转化成字符串。 int sprintf( char *buffer, const char *format [, argument] ... );其中sprintf()的第一个参数char* buffer是一个字符指针指向用于存放数据转换后字符串的字符数组第二个参数const char *format [, argument] ... 与printf() 中参数的用法一致。下面举个例子
#includestdio.hstruct S
{char name[20];int age;float score;
};int main()
{struct S s { zhangsan,23,56.1 };char arr[100] { 0 };sprintf(arr, %s %d %f, s.name, s.age, s.score);printf(%s\n, arr);return 0;
}sscanf() 从一个字符串中转化出格式化的数据。 int sscanf( const char *buffer, const char *format [, argument ] ... );其中sscanf()的第一个参数char* buffer是一个字符指针指向需要被转换成格式化数据的字符数组第二个参数const char *format [, argument] ... 与scanf() 中参数的用法一致。下面举个例子
#includestdio.hstruct S
{char name[20];int age;float score;
};int main()
{struct S s { zhangsan,23,56.1 };char arr[100] { 0 };struct S save { 0 };sprintf(arr, %s %d %f, s.name, s.age, s.score);printf(%s\n, arr);sscanf(arr, %s %d %f, save.name, (save.age), (save.score));printf(%s %d %f\n, save.name, save.age, save.score);return 0;
}应用场景 思考一个问题这两个函数的设计的目的是什么呀谁会平白无故让数据的转化成字符串从字符串中读取数据这不多此一举嘛 当然这么想无可厚非因为你还没有深入的了解前端数据的存储形式前端与后端之间数据的传输当学习的代码越来越多见识越来越广的时候自然而然就明白了。 当想开发一个应用软件的时候需要使用BS结构也就是浏览器、服务器结构。当前端页面获取信息的时候是以字符串的形式获取的就譬如“姓名” “年龄” “体重”。然后会进行组合组合成一个字符串譬如“姓名 年龄 体重”。最终将这个字符串传递给后端后端可能是以结构的形式存储的所以就需要用到像sscanf()这样的函数从字符串中读取数据。同样的如果我们想将后端的数据呈现到前端页面上去就需要通过像sprintf()这样的函数将数组转换成字符串然后传递给前端。如下图所示 这种操作在专业的软件开发中被称为序列化和反序列化。 这份博客如果对你有帮助给博主一个免费的点赞以示鼓励欢迎各位点赞评论收藏⭐️谢谢 如果有什么疑问或不同的见解欢迎评论区留言欧。