C++中 sprintf函數的用法


//轉載

C++中 sprintf函數的用法

1.常用方式
 sprintf函數的功能與printf函數的功能基本一樣,只是它把結果輸出到指定的字符串中了,看個例子就明白了:

例:將”test 1 2”寫入數組s中

 

#include<stdio.h>
int main(int argc, char *avgv[])
{
    char s[40];
    sprintf(s,"%s%d%c","test",1,'2');
    /*第一個參數就是指向要寫入的那個字符串的指針,剩下的就和printf()一樣了
    你可以比較一下,這是向屏幕輸入*/
    printf("%s%d%c","test",1,'2');
    return 0;
}12345678910

編譯:


  g++ sprinftest.cpp -o sprinftest && ./sprinftest


輸出結果:


  sprintftest12
  sprintftest12


2.若”%s”等輸出符在字符串中

例:補全字符串str的缺省內容

 

#include <iostream>
#include <stdio.h>
#include <cstring>

int main(int argc, char *avgv[])
{
    char str[] = "hel%co wo%sd! sp%stf test%d";
    char buf[strlen(str)];
    sprintf(buf, str, 'l', "rl", "rin", 1);
    std::cout << "str = "<< buf << "\nlen = " <<  strlen(buf) << std::endl;
    return 0;
}123456789101112

編譯:


  g++ sprinftest.cpp -o sprinftest && ./sprinftest


輸出結果:


  str = hello world! sprintf test1
  len = 27


這種形式也可以將多個字符值或字符串值賦值到字符串str中,有多少個輸出符就后面就加多少個參數。
————————————————
版權聲明:本文為CSDN博主「wonderomg」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u012406177/article/details/70243062


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM