function 格式化 格式化输入函数是_c++

0x02 sprintf 函数

function 格式化 格式化输入函数是_function 格式化_02

📂 头文件:#include <stdio.h>

📚 作用:把一个格式化的数据转换成字符串。

🔍 MSDN介绍:sprintf - C++ Reference

function 格式化 格式化输入函数是_c++_03

💬 代码演示:sprintf 的用法

#include <stdio.h>

struct S {
	char arr[10];
	int age;
	float f;
};

int main(void) {
	struct S s = { "hello", 20, 3.14f };
	char buffer[100] = { 0 }; // 用于存放

	sprintf(buffer, "%s %d %f", s.arr, s.age, s.f); // 把这些信息放到buffer中了
	printf("%s\n", buffer); // 将buffer打印出来

	return 0;
}

🚩 运行结果如下:

function 格式化 格式化输入函数是_学习_04

二、scanf / fscanf / sscanf

0x00 scanf 函数

function 格式化 格式化输入函数是_c语言_05

📂 头文件:#include <stdio.h>

📚 针对标准输入的格式化的输入语句 - stdin

🔍 MSDN介绍:scanf - C++ Reference

function 格式化 格式化输入函数是_#include_06

💬 代码演示:scanf 的用法

#include <stdio.h>

int main(void) {
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    printf("a=%d, b=%d\n", a, b);

    return 0;
}

🚩 输入10 20,运行结果如下:

function 格式化 格式化输入函数是_c语言_07

0x01 fscanf 函数

function 格式化 格式化输入函数是_学习_08

📂 头文件:#include <stdio.h>

📚 针对所有输入流的格式化输入语句 - stdin / 文件

🔍 MSDN介绍:fscanf - C++ Reference

function 格式化 格式化输入函数是_function 格式化_09

💬 代码演示:fscanf 的用法

function 格式化 格式化输入函数是_function 格式化_10

#include <stdio.h>

int data; // 存放读到的数据

int main(void) {
    FILE* pf = fopen("test.txt", "r");
    if (pf == NULL) {
        perror("fopen");
        return 1;
    }

    // 使用fscanf读文件
    fscanf(pf, "%d", &data);

    // 将读到的数据打印
    printf("%d\n", data);

    fclose(pf);
    pf = NULL;

    return 0;
}

🚩 运行结果如下:

function 格式化 格式化输入函数是_function 格式化_11

0x02 sscanf 函数

function 格式化 格式化输入函数是_学习_12

📂 头文件:#include <stdio.h>

📚 作用:从一个字符串中读取一个格式化的数据。

🔍 MSDN介绍:sscanf - C++ Reference

function 格式化 格式化输入函数是_#include_13

💬 代码演示:利用 sscanf 从 buffer 字符串中还原出结构体的数据

#include <stdio.h>

struct S {
	char arr[10];
	int age;
	float f;
};

int main(void) {
	struct S s = { "hello", 20, 3.14f };
	struct S tmp = { 0 };

	char buffer[100] = { 0 };
	sprintf(buffer, "%s %d %f", s.arr, s.age, s.f); // 把这些信息放到buffer中了
	printf("%s\n", buffer);

	// 从buffer字符串中还原出一个结构体数据
	sscanf(buffer, "%s %d %f", tmp.arr, &(tmp.age), &(tmp.f));
	printf("%s %d %f\n", tmp.arr, tmp.age, tmp.f);

	return 0;
}

🚩 运行结果如下:

function 格式化 格式化输入函数是_#include_14

三、总结

scanf        针对标准输入的格式化的输入语句 - stdin

fscanf       针对所有输出流的格式化的输出语句 - stdin / 文件

sscanf      从一个字符串中读取一个格式化的数据

printf         针对标准输出的格式化输出语句 - stdout