第1个回答 推荐于2018-04-13
printf是进行画面输出的方法,起到同样效果但输出结果是字符串对象的方法是sprintf。sprintf的"s"我们可以看作是"String"的"s",这样就记住了该方法的意义。
sprintf常常用于那些使用字符串类方法来处理生成不规则的字符串的场合。
int printf( const char *format [, argument]... );
printf只是格式化输出参数到标准输出
int sprintf( char *buffer, const char *format [, argument] ... );
sprintf除了安格式输出外,将输出字节串存入buffer
#include <stdio.h>
void main( void )
{
char buffer[200], s[] = "computer ", c = 'l ';
int i = 35, j;
float fp = 1.7320534f;
/* Format and print various data: */
j = sprintf( buffer, "\tString: %s\n ", s );
j += sprintf( buffer + j, "\tCharacter: %c\n ", c );
j += sprintf( buffer + j, "\tInteger: %d\n ", i );
j += sprintf( buffer + j, "\tReal: %f\n ", fp );
printf( "Output:\n%s\ncharacter count = %d\n ", buffer, j );
}
算了再说下fprintf()
int fprintf( FILE *stream, const char *format, ... ); fprintf()函数根据指定的format(格式)(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值.
void main( void )
{
int i = 10;
double fp = 1.5;
char s[] = "this is a string";
char c = '\n';
stream = fopen( "fprintf.out", "w" );
fprintf( stream, "%s%c", s, c );
fprintf( stream, "%d\n", i );
fprintf( stream, "%f\n", fp );
fclose( stream );
}本回答被网友采纳