语法:
#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 );
注意这个函数并不会检查缓冲区边界自然会有缓冲区溢出的危险。安全的替代函数是 snprintf。