Sprintf()函数用法及其详解

Sprintf()函数用法及其详解

描述:

C 库函数 int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串。

声明:

int sprintf(char *str, const char *format, ...)

参数:

  • str – 这是指向一个字符数组的指针,该数组存储了 C 字符串。
  • format – 这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format
    标签可被随后的附加参数中指定的值替换,并按需求进行格式化,具体讲解如下:

示例

/** @Author: Your name* @Date:   2020-02-24 14:35:13* @Last Modified by:   Your name* @Last Modified time: 2020-02-24 21:36:39*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 20
char *s_gets(char *str,int n);
int main()
{char first[MAX];char last[MAX];char formal[2*MAX +10];double price;puts("Enter your firstname.");s_gets(first,MAX);puts("Enter your lastname.");s_gets(last,MAX);puts("Enter your prize money.");scanf("%lf",&price);sprintf(formal,"%s,%-19s: $%6.2f\n",last,first,price);puts(formal);getchar();getchar();return 0;
}
char *s_gets(char *str,int n)
{char *ret;int i = 0;ret = fgets(str,MAX,stdin);if(ret){while (str[i]!='\n'&&str[i]!='\0'){i++;}if(str[i]=='\n'){str[i] = '\0';}else{while(getchar()!='\n'){continue;}}  }return ret;
}

下面是该程序的运行示例:

Enter your firstname.
AnnieEnter your lastname.
von WurstkasseEnter your prize money.
25000von Wurstkasse,Annie              : $25000.00

sprintf()函数声明在stdio.h
该函数与prinntf()类似,但它是把数据写入字符串,而不是打印纸显示器上。
因此,该函数可以把多个元素组合成一个字符串。
sprintf()函数获取输入,并将其格式化为标准模式,然后把格式化后的字符串存储在formal中。

Sprintf()函数用法及其详解

Sprintf()函数用法及其详解

描述:

C 库函数 int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串。

声明:

int sprintf(char *str, const char *format, ...)

参数:

  • str – 这是指向一个字符数组的指针,该数组存储了 C 字符串。
  • format – 这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format
    标签可被随后的附加参数中指定的值替换,并按需求进行格式化,具体讲解如下:

示例

/** @Author: Your name* @Date:   2020-02-24 14:35:13* @Last Modified by:   Your name* @Last Modified time: 2020-02-24 21:36:39*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 20
char *s_gets(char *str,int n);
int main()
{char first[MAX];char last[MAX];char formal[2*MAX +10];double price;puts("Enter your firstname.");s_gets(first,MAX);puts("Enter your lastname.");s_gets(last,MAX);puts("Enter your prize money.");scanf("%lf",&price);sprintf(formal,"%s,%-19s: $%6.2f\n",last,first,price);puts(formal);getchar();getchar();return 0;
}
char *s_gets(char *str,int n)
{char *ret;int i = 0;ret = fgets(str,MAX,stdin);if(ret){while (str[i]!='\n'&&str[i]!='\0'){i++;}if(str[i]=='\n'){str[i] = '\0';}else{while(getchar()!='\n'){continue;}}  }return ret;
}

下面是该程序的运行示例:

Enter your firstname.
AnnieEnter your lastname.
von WurstkasseEnter your prize money.
25000von Wurstkasse,Annie              : $25000.00

sprintf()函数声明在stdio.h
该函数与prinntf()类似,但它是把数据写入字符串,而不是打印纸显示器上。
因此,该函数可以把多个元素组合成一个字符串。
sprintf()函数获取输入,并将其格式化为标准模式,然后把格式化后的字符串存储在formal中。