C语言中字符串和数字的相互转换实现代码

时间:2021-12-31 08:17:27

1.数字转换为字符串
sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。
sprintf 是个变参函数,定义如下:
int sprintf( char *buffer, const char *format [, argument] ... );
除了前两个参数类型固定外,后面可以接任意多个参数。
printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要 的字符串。
如把整数123 打印成一个字符串保存在s 中。
sprintf(s, \"%d\", 123); //产生\"123\"

2.字符串转换为数字
函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
程序例:

复制代码 代码如下:

#include <stdlib.h>
  #include <stdio.h>
  int main(void)
  {
  long l;
  char *str = "98765432";
  l = atol(str); /* 原来为l = atol(str); */
  printf("string = %s integer = %ld\n", str, l);
  return(0);
  }