sscanf\sprintf\fread\fwrite
来源:互联网 发布:淘宝助手ipad版 编辑:程序博客网 时间:2024/05/21 21:55
1.sscanf的用法
定义函数int sscanf (const char *str, const char * format.........);
其函数表示会将参数str的字符串根据参数format字符串来转换并格式化数据。转换后的结果相应存在对应的参数中。
其应用如下:
(1)取指定长度的字符串,例:取长度为3字节的字符串。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[512] = { 0 };
sscanf("123456", "%4s", str);
printf("%s", str);
getchar();
system("pause");
return 0;
}
输出的结果为“123”
(2)取到指定字符为止的字符串。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[512] = { 0 };
sscanf("123456abc deef", "%[^ ]", str); //取到指定的空格终止
printf("%s", str);
getchar();
system("pause");
return 0;
}
(3).取到指定字符集为止的字符串。例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[512] = { 0 };
sscanf("123456abcdeef", "%[1-9]", str); //取到仅包含1-9的字符串终止
printf("%s", str);
getchar();
system("pause");
return 0;
}
2.sprintf的用法
sprintf是个变参函数,定义为 int sprintf (char *buffer, const char *format, .......);
除了前两个参数类型固定外,后面可以连接任意多个参数,而最主要的就是显示在第二个参数上,即格式化字符串上。
(1)sprintf代替itoa
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s[10] = { 0 };
sprintf(s, "%d", 123); //把整数123打印成一个字符串保存在s中
printf("%s", s);
getchar();
system("pause");
return 0;
}
(2)指定宽度,不足的左边补空格
int main()
{
char s[10] = { 0 };
sprintf(s, "%5d%5d", 123,456); //输出 123 456
printf("%s", s);
getchar();
system("pause");
return 0;
}
(3)也可以左对齐
int main()
{
char s[10] = { 0 };
sprintf(s, "%-5d%5d", 123,456); //输出123 456
printf("%s", s);
getchar();
system("pause");
return 0;
}
简单来看,sscanf和sprintf都是对其输入或输出的数据进行格式化,来实现指定格式的输入或输出。
3.fread的研究
定义 int fread (void *buffer ,int size, int count , FILE *fp);
从FP指向文件的当前位置开始,一次读入size个字节,重复count,并将读入的数据存放到从buffer开始的内存中,buffer是存放读入数据的其实地址(即存放处)
4.fwrite
从buffer开始,一次输出size 个字节,重复count 次,并将输出的数据存放在fp所指向的文件中。buff是要在输出数据在内存的起始地址(即从何处开始输出),一般用于二进制文件的处理。
- sscanf\sprintf\fread\fwrite
- 研究 sscanf sprintf 与fread fwrite
- 几个C函数:fgets, sscanf,fread,fwrite , strncpy,fopen, sprintf
- 1.研究 sscanf sprintf 2.研究 fread fwrite
- fread、fwrite、snprintf、sprintf、memset
- fwrite 、fread
- fread fwrite
- fread,fwrite
- fread & fwrite
- fread fwrite
- fread,fwrite
- fwrite ,fread
- fread、fwrite
- sscanf sprintf
- sscanf sprintf
- sscanf,sprintf
- sprintf、sscanf
- sprintf sscanf
- Service xxx does not have a SELinux domain defined
- HashMap面试题
- Linux中线程同步信号发送与接收总结
- 【Tensorflow 目录】tensorflow系列
- Linux系统网络桥接
- sscanf\sprintf\fread\fwrite
- javascript中的原型与继承6--class的继承
- 关联规则分析 二
- RN学习笔记
- camera 流程分析和关键代码解释
- java发送http的get、post请求
- 卷积神经网络(CNN)介绍
- 【安全牛学习笔记】SSL、TLS中间人攻击
- Linux 服务器基础配置从0到1