大家好,又见面了,我是你们的朋友全栈君。
cstring中包含许多字符数组的函数:
sscanf与sprintf用法:
假设定义了一个字符数组str[100],如下:
sscanf(str, "%d", &n);
sprintf(str,"%d",n);
(1) 上面sscanf写法的作用是把字符数组str中的内容以”%d”的格式写到n中(还是从左至右),示例如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char str[15] = "123";
int n;
sscanf_s(str, "%d", &n);
printf("%d", n);
system("pause");
return 0;
}
输出结果: 123
(2) 而sprintf写法的作用是把n以”%d”的格式写到str字符数组中(还是从右至左),示例如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char str[15];
int n=123;
sprintf(str, "%d", n);
puts(str);
system("pause");
return 0;
}
输出结果: 123
上面只是一些简单的应用,事实上,还可以像使用scanf printf那样进行复杂的格式输入和输出。例如下面的代码使用sscanf将字符数组 str 中的内容按””%d:%1f,%s”的格式写到int型变量n、double型变量db、char 型数组str2中。 示例代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;
double db;
char str1[100] = "12:3.14,hello", str2[100];
sscanf_s(str1, "%d:%lf,%s", &n, &db, str2);
printf("%d:%lf,%s", n, db, str2);
system("pause");
return 0;
}
sprintf函数类似
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194316.html原文链接:https://javaforall.cn