由于水平原因,博客大部分内容摘抄于网络,如有错误或者侵权请指出,本人将尽快修改

sscanf 和 sprintf 使用

sscanf的使用

  1. 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的使用

 

posted @   小纸条  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示