我已经通过不显示单词的最后一个字母然后找到最后一个字母然后使其闪烁来解决这个问题,然后我反过来减去了最后一个字母。
#include<string.h>
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
char text[255];
int txtposition,txtlength;
void main()
{
clrscr();
gets(text);
txtlength=strlen(text);
char lastchar=text[txtlength-1];
cout<<"Your text is: ";
for(txtposition=0;txtposition<txtlength-1;txtposition++)
{
cout<<text[txtposition];
}
textcolor(WHITE+128);
cprintf("%c", lastchar);
for(txtposition=txtlength-2;txtposition>=0;txtposition--)
{
cout<<text[txtposition];
}
getch();
}
感谢您的帮助!
答案 0 :(得分:0)
要使中间字符闪烁,要么输出终端需要能够使用here所述的特殊终端控制代码呈现闪烁字符,或者使用单独线程中的gotoxy()
函数,显示' '
或实际字符,交替显示特定的闪烁频率。
答案 1 :(得分:0)
标准C ++库不提供使字符闪烁的任何工具。
你可以用平台特定的方式做到这一点,但值得注意的是Windows控制台窗口(据我所知)不直接支持文本闪烁,就像最初的IBM PC的文本屏幕模式一样。在最初的IBM PC上,可以将一个颜色规格配置为产生高强度或闪烁,默认情况下闪烁控制。我总是在我的程序中将它重新配置为高强度,并且在Windows控制台窗口的相应机制中,这些位总是决定颜色。
因此,即使在Windows中也很复杂,除非你在模拟旧PC的DOSBox中运行。我不知道它提供的功能。也许它甚至会眨眼。
但您可以通过其他方式轻松标记相关字母。
例如,您可以使用
大写与小写,
在下一行添加下划线字符
括号(正如您在此处的示例中所做的那样),
颜色(特定于平台),
不同的字体,大胆,等等。
如果您使用普通的现代PC,我建议您更新到现代编译器。编译器是免费的。您还需要更好的学习资料,例如: void main
是非标准的,只有少数编制者接受。
答案 2 :(得分:0)
对于Turbo C / C ++,你可以使用图形库和/或内置的conio功能。 (https://answers.yahoo.com/question/index?qid=20080813072809AAEguz0)
但上述内容不具备可移植性,因为图形库特定于Turbo,而conio特定于某些基于dos的编译器/库。
如果您转到像gcc / g ++这样的编译器,那么您可能需要查看curses库:http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/