sprintf

来自cppreference.com
< cpp | io | c
跳转到: 导航, 搜索

語法:

    #include <cstdio>
    int sprintf( char *buffer, const char *format, ... );

sprintf()函數和printf()類似,只是輸出是列印到緩衝區buffer。返回值是寫入字元的數目。例如:

     char string[50];
     int file_number = 0;
 
     sprintf( string, "file.%d", file_number );
     file_number++;
     output_file = fopen( string, "w" );

注意sprintf()和atoi()做的正好相反——atoi()將字元串變換(convert)為數字,而sprintf()可以用來將數字變換為字元串。 例如,下面的代碼使用sprintf()將一整數變換為字元串:


     char result[100];
     int num = 24;
     sprintf( result, "%d", num );

這段代碼很簡單,它只是將一個浮點數變換為字元數組:

     char result[100];
     float fnum = 3.14159;
     sprintf( result, "%f", fnum );

注意這個函數並不會檢查緩衝區邊界自然會有緩衝區溢出的危險。安全的替代函數是 c/io/snprintf

相關主題: c/io/snprintf, fprintf, printf

个人工具
名字空间
操作
导航
工具箱