C++的逐字输出可以使用string和sleep来实现
思路:
首先设置一个字符串s=“1145141919810”,而这个字符串的下标从0开始依次就是字符串的每一个字符。如s[0]即为1,s[3]即为5。从这样递增的索引出发自然可以想到for循环。循环内部每次执行一遍
cout<<s[i];
即可。但这样看起来会一次性输出,并没有逐字输出的视觉效果。这时就要用上Sleep函数,这个函数需要头文件Windows.h。Sleep的S是大写的,且内部填入的时间以毫秒为单位。举个例子,这里可以将原有代码扩充为:
cout<<s[i];
Sleep(62);
这样就可以达到逐字输出的效果了。另外这里全程是没有endl;的,那么最后也没有换行。不过这很容易解决,只要在函数中增加一个判断就可以了,综上所述,函数可以这么写:
void vercout(string s,bool k){
int len=s.length();
for(int i=0;i<len;i++){
cout<<s[i];
Sleep(62);
}
if(k)cout<<endl;
}
K即代表需不需要换行。
代码:
这里的vercout函数即为逐字输出函数。用法为vercout(字符串,1或0);
#include <iostream>
#include <cstring>
#include <windows.h>
using namespace std;
void vercout(string s,bool k){
int len=s.length();
for(int i=0;i<len;i++){
cout<<s[i];
Sleep(62);
}
if(k)cout<<endl;
}
int main()
{
vercout("1145141919810",0);
return 0;
}