欢迎光临
我们一直在努力

sprintf函数 & snprintf函数使用

一、sprintf函数
1.该函数为字符串格式化命令
2.函数声明:
int sprintf(char *string, char *format [,argument,…]);
3.sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制
4.把格式化的数据写入某个字符串中
5.C 库函数 int sprintf(char *str, const char *format, …) 发送格式化输出到 str 所指向的字符串
6.sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出

二、snprintf函数
1.snprintf(),函数原型为int snprintf(char *str, size_t size, const char *format, …)
将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至str中

三、snprintf函数的应用
#include <windows.h>

int main() {

    char buffer[50];//用于存储字符串
    char* s = "runoobcom";

    unsigned int t_cnt = 100;

    // 读取字符串并存储在 buffer 中
    //int j = snprintf(buffer, 12, "mybuf:%s\\n", s);
    
    
    while (1) {
        int j = snprintf(buffer, 12, "mybuf:%d\\n", t_cnt++);
        //相当于将mybuf:%d存储到buffer中,其中%d为t_cnt++的值,直接当字符串存入buffer
        //j作为返回值,返回的是一共要写的字符个数mybuf:%d\\n的总字符个数

        // 输出 buffer及字符数
        printf("string:\\n%s\\ncharacter count = %d\\n", buffer, j);

        Sleep(1);
    
    }
    

    return 0;

}

赞(0)
未经允许不得转载:171主机测评 » sprintf函数 & snprintf函数使用
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址