0
点赞
收藏
分享

微信扫一扫

我是如何在linux下 安装 mongoDB的

仲秋花似锦 2023-07-02 阅读 60

总结

1.scanf/printf 是标准输入输出流函数(键盘、屏幕)。
2.fscanf/fprintf 适用于所有输入输出流(文件、键盘、屏幕…)。
3.sscanf/sprintf 是把格式化的数据写入某个字符串中,从某个字符串中读取格式化的数据。


第一组:scanf/printf

scanf/printf是格式化标准输入输出函数,scanf默认输入流是 stdin 键盘输入printf默认输出流是stdout屏幕输出

#include <stdio.h>

int main() {

	int num = 0;
	scanf("%d" , &num);
	printf("%d" , num);

	return 0;
}

在这里插入图片描述

第二组:fscanf/fprintf

fscanf/fprintf是格式化输入输出函数,fscanf/fprintf 适用于所有输入输出流。

文件流:

#include <stdio.h>

struct Data {
	char name[20];
	int age;
};

int main() {

	struct Data data = { "孙悟空" , 18 };

	FILE* fp = fopen("D:/test.txt", "w+");
	if (fp == NULL) {
		perror("fopen:");
		exit(-1);
	}

	fprintf(fp , "%s %d" , data.name , data.age);

	fclose(fp);
	fp = NULL;

	fp = fopen("D:/test.txt", "r");
	if (fp == NULL) {
		perror("fopen:");
		exit(-1);
	}

	struct Data temp = { 0 };
	fscanf(fp , "%s %d" , temp.name , &temp.age);
	printf("%s %d" , temp.name , temp.age);

	fclose(fp);
	fp = NULL;


	return 0;
}

注:fscanf(stdin , "%d" , &num); == scanf("%d" , &num); fprintf(stdout , "%d" , num); == printf("%d" , num);

第三组:sscanf/sprintf

sprintf是把格式化的数据写入某个字符串中。
sscanf 从某个字符串中读取格式化的数据。

#include <stdio.h>

typedef struct Data {
	char name[20];
	int age;
	double score;
}Data;

int main() {

	Data data = { "孙悟空" , 18 , 20.6 };

	char buffer[256] = { 0 };

	sprintf(buffer , "%s %d %lf" , data.name , data.age , data.score);

	printf("字符串数据:%s\n" , buffer);

	Data temp = { 0 };
	sscanf(buffer , "%s %d %lf", temp.name, &temp.age, &temp.score);
	printf("格式化数据:%s %d %lf", temp.name, temp.age, temp.score);

	return 0;
}

在这里插入图片描述

举报

相关推荐

0 条评论