sscanf与sprintf

  • sscanf与sprintf是处理字符串问题的利器,读者很有必要学会它们(sscanf 从单词上可以理解为string + scanf,sprintf则可以理解为string + printf,均在stdio.h头文件下)。

  • sscanf与 sprintf与上面的格式是相同的,只不过把 screen 换成了字符数组(假设定义了一个char数组str[100]),

  • 如下所示:
    sscanf (str, "%d",&n);

    sprintf(str, "%d",n);

  • 上面sscanf写法的作用是把字符数组 str 中的内容以"%d"的格式写到n中(还是从左至右)

  • 示例如下:

#include<stdio.h>
int main(){
	int n;
	char str[100] = "123";
	sscanf(str, "%d", &n);
	printf("%d\n", n);
	return 0;
} 

输出结果:123

  • 而 sprintf写法的作用是把n以"%d"的格式写到str字符数组中(还是从右至左),示例如下:
#include<stdio.h>
int main(){
	int n = 233;
	char str[100];
	sprintf(str, "%d", n);
	printf("%s\n", str);
	return 0;
}

输出结果:233