首先讲讲sprintf和sscanf这两个函数吧(这两个函数我找了许多解释,终于弄懂了,确实比较笨吧)。
这两个函数在c语言里是在stdio.h头文件里的,c++就是cstdio这个头文件。
先说sprintf函数:
它的函数声明为:int sprintf(char *string, char *format [,argument,…]);,在本弱鸡看来它和printf的区别就是printf是输出到屏幕上,就是那个黑框框里,而sprintf是输出到一个字符串中而不是直接输出到屏幕,就是函数声明里的char *string,当然这里有很重要的东西需要注意的。
sprintf常见的功能有三:
1,格式化字符串
就是前面所说的,这是很常用的功能,例如:
char a[100] = {
0};
int i = 1234;
sprintf(a,"%d",i);
printf("%s",a);
这部分代码的意思可以将1234这个数转化为字符串“1234”再赋值给数组a,在最后a数组里面存的就是“1234”这个字符串,到时候就可以用a[n]轻松得到每一位数。
2,用于进制转换:
char a[100];
int i = 100;
sprintf(a,"%o",i);
printf("%s",a);
这边是将十进制的100转换成八进制,到时候a数组里面保存的就是“144”同样很方便得到每一位数。
3,用于连接字符串:
c语言里其实也有函数来实现这个功能那就是strcat()函数,但是这个函数一次性只能连接两个字符串,而sprintf函数可以连接两个或者多个字符串
char all[100];
char a[] = "i";
char b[]