sscanf 和 sprintf 使用
sscanf的使用
- int sscanf(const char *str, const char *format,......);
#include<stdio.h>
int main1() {
char str[100];
sscanf("12345", "%4s", str);
printf("%s\n", str);
return 0;
}
int main2() {
int year, month, day, hour, minute, second;
//sscanf会自动去掉前面 中间 后面的空格
sscanf(" 2013/02/13 14:55:34", "%d/%d/%d %d:%d:%d", &year, &month, &day, &hour, &minute, &second);
printf("time=%d-%d-%d %d:%d:%d\n", year, month, day, hour, minute, second);
return 0;
}
int main3() {
char str[100];
sscanf("12345", "%s", str);
printf("%s\n", str);
return 0;
}
int main4() {
char str1[100] = {"ab cd ef"};
char str2[100], str3[100];
sscanf(str1, "%s%s", str2, str3);
printf("%s %s\n", str2, str3);
return 0;
}
int main5() {
char str[100];
//%*d和%*s加了(*)表示跳过此数据不读入(也就是不把此数据读入参数中)
sscanf("1234abcd", "%*d%s", str);
printf("%s\n", str);
return 0;
}
int main6() {
char str[100];
sscanf("1234+abc", "%[^+]", str);
printf("%s\n", str);
return 0;
}
int main7() {
char str[100];
sscanf("1234+abc1234", "%[^a-z]", str);
printf("%s\n", str);
return 0;
}
int main8() {
char str[100];
sscanf("123456abcdefBFRGTY7890", "%[1-9a-z]", str);
printf("%s\n", str);
return 0;
}
int main() {
main1();
main2();
main3();
main4();
main5();
main6();
main7();
main8();
return 0;
}
运行结果:
1234
time=2013-2-13 14:55:34
12345
ab cd
abcd
1234
1234+
123456abcdef
sprintf的使用
加油啦!加油鸭,冲鸭!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)