用C/C++制作文字内容逐一显现(闭合式)

该代码示例展示了如何在C语言中使用字符串处理和循环来创建一个逐字显示的效果。通过两个字符串数组,一个作为原始内容,一个作为遮蔽,程序逐次替换遮蔽字符串的两端字符,配合Sleep函数延迟和system函数清屏,实现逐字显现并消隐的动画效果。
摘要由CSDN通过智能技术生成

解析

首先是头函数

#include<stdio.h>
#include<string.h>//需要strlen()计算字符串大小
#include<Windows.h>//Sleep()和system()在代码中有用到

 接下来设置两个字符串数组,并给予赋值。

char arr1[] = "welcome to my space!";//逐一显现内容
char arr2[] = "####################";//遮蔽字

在创建leftright自变量作为数组的下标,并作为循环的判断。 并在循环中,给arr2中的值进行替换和打印。

    arr2[left] = arr1[left];//将arr1左边的字赋给arr2
    arr2[right] = arr1[right];//将arr1右边的字赋给arr2
    printf("%s\n", arr2);

 在末端使leftright进行移位。

        left++;
        right--;

因为结果一运行就完成了所有的打印,打印出来一堆结果,所以给它设置一个延时500毫秒,并且清屏,这样就能得到一个简单的出现效果。

		Sleep(500);//延时500毫秒
		system("cls");//清屏

代码 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<Windows.h>
int main()
{
	char arr1[] = "welcome to my space!";//逐一显现内容
	char arr2[] = "####################";//遮蔽字
	int left = 0;
	int right = strlen(arr2)-1;

	while (left <= right)
	{
		arr2[left] = arr1[left];//将arr1左边的字赋给arr2
		arr2[right] = arr1[right];//将arr1右边的字赋给arr2
		printf("%s\n", arr2);
		
		Sleep(500);//延时500毫秒
		system("cls");//清屏
		left++;
		right--;
	}
	printf("%s\n", arr2);//再次打印显示内容
	return 0;
}

总结

其中,right的创建可以使用sizeof进行创建。因为sizeof会把数组中的\n多算进来,所有要多减一。

	//int right = strlen(arr2)-1;
    int right = sizeof(arr2)/sizeof(arr2[0])-2;
    //因为sizeof会把数组中的\n多算进来,所有要多减一

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值