文本编辑器

2021-03-02 15:07:10 浏览数 (2)

注意:gets_s函数和fgets函数都会从缓冲区带走n回车符,遇到空格不会停止输入

文本编辑器:

代码语言:javascript复制
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//文本编辑器:遇到:quit停止输入
void test()
{
	//遇到回车符不结束输入
		FILE* fp = NULL;
		//文本文件方式写入
		fp = fopen("txtEdit.txt", "w");
		//判断文件打开是否成功
		if (fp == NULL)
		{
			printf("文件打开失败");
			exit(1);
		}
		while (1)
		{
			//1.准备一个字符串,存储写入数据
			char buf[2000] = { 0 };
			//2.用户输入数据,记录到字符串buf中
			fgets(buf, sizeof(buf), stdin);
			//3.结束循环条件,用户输入:quit---->字符串比较函数
			//strncmp如果相等返回0,大于返回1
			if (strncmp(buf, ":quit", 5)==0)
			{
				break;
			}
			//4.将buf字符串里面的数据,按字符读取进文件中
			int i = 0;
			while (buf[i] != '')
			{
				fputc(buf[i  ], fp);
			}
		}
		//5.关闭文件
		fclose(fp);
}
int main()
{
	test();
	return 0;
}

用户输入的数据:

文本中存放的数据:

0 人点赞