C语言—sprintf()

作者:追风剑情 发布于:2019-11-3 21:58 分类:C

sprintf()用来格式化字符串。

示例:

  1. //Visual Studio中加上这句才可以使用scanf()
  2. //否则只能使用scanf_s()
  3. #define _CRT_SECURE_NO_WARNINGS
  4. #include <stdio.h>
  5.  
  6. #define MAX 20
  7. char * s_gets(char * st, int n);
  8.  
  9. //argc: 参数个数 argv[]: 参数数组
  10. int main(int argc, char *argv[])
  11. {
  12. char first[MAX];
  13. char last[MAX];
  14. char formal[2 * MAX + 10];
  15. double prize;
  16.  
  17. puts("Enter your first name:");
  18. s_gets(first, MAX);
  19. puts("Enter your last name:");
  20. s_gets(last, MAX);
  21. puts("Enter your prize money:");
  22. scanf("%lf", &prize);
  23. //格式化字符串
  24. sprintf(formal, "%s, %-19s: $%6.2f\n", last, first, prize);
  25. puts(formal);
  26.  
  27. system("pause");
  28. return 0;
  29. }
  30.  
  31. char * s_gets(char * st, int n)
  32. {
  33. char * ret_val;
  34. int i = 0;
  35. ret_val = fgets(st, n, stdin);
  36. if (ret_val) //即,ret_val != NULL
  37. {
  38. while (st[i] != '\n' && st[i] != '\0')
  39. i++;
  40. if (st[i] == '\n')
  41. st[i] = '\0';
  42. else
  43. while (getchar() != '\n')
  44. continue;
  45. }
  46. return ret_val;
  47. }

运行测试
1111.png

标签: C语言

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号