与普通输入输出函数的区别(scanf,printf)
事实上,常见的scanf和printf写法其实都可以写作:
scanf(screen,"%d",&n);
printf(screen,"%d",n);
scanf实际上就是从左到右将screen中的内容按照%d的格式读到n里面
相同的方法,printf实际上就是按照%d的形式,把n中的数据输出到screen
sscanf与sprintf
前面加上"s",s代表着string,意思就是把原先从屏幕读和输出改到了string
即:
sscanf(str,"%d",&n);
ssprintf(str,"%d",n);
由于sscanf与sprintf是C语言stdio提供的函数,这里的str是字符数构成的字符串,与c++里的string不同。
示例程序:
#include<stdio.h>
using namespace std;
int main() {
int n;
char A[10] = "123";
sscanf(A, "%d", &n);
printf("%d\n", n);
int t = 985;
sprintf(A, "%d", t);
for (int i = 0; i < 3; i++)printf("%c", A[i]);
return 0;
}
运行结果:
以上程序只是简单应用,也可以像scanf和printf那样指定输入输出格式。