标题:[求助]可以让光标后退吗
取消只看楼主
zwfc
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-10-17
 问题点数:0 回复次数:1 
[求助]可以让光标后退吗
问题:当我输入的字符串刚好达到一行的时候,这时光标就会自动移到下一行来,这样的话敲下回车符后,结果就打在了下一行。但是,输出结果的格式是,在这种情况不能中间空一行。不知道可不可以让光标后退啊!大家帮帮忙啊。
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{ char ch;
int a[26]={0};
cout<<"input the string of big letter please:\n";
while((ch=getchar())!='\n')
{
a[(int(ch)-65)]++;
}

for(int i=0;i<26;i++)
{
if (a[i]==0)cout<<"";
else if (a[i]==1)
cout<<char(i+65);
else
cout<<a[i]<<char(i+65);
}
cout<<endl;
system("PAUSE");
return 0;
}
搜索更多相关主题的帖子: 光标 
2006-04-12 10:15
zwfc
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2005-10-17
得分:0 
以下是引用柳儿在2006-4-13 10:25:00的发言:
那楼主是否知道一行有多少个字符,如果知道,判断一下是否需要打印endl就可以了吧。

其实,我所说的恰好一行,就是运行程序后,在控制台上刚好输入一行字符。因为,输入一个字符后光标就自动后移。
所以,这时光标已经在下一行了再按一下回车键后就换了一行,然后才把结果输出来。这期间不就空了一行了吗?
所以,在这种情况下,我觉得要么让回车键失效,要么让光标退到上一行去。大家再帮着想想办法吧!谢谢了!


2006-04-13 13:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-56946-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.241317 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved