C语言按回车录入字符串后不换行,能做到吗?

我用的是gets_s,输入字符串后按回车,录入该字符串,同时光标跳到下一行。那么问题是,如果我输入的是空字符串直接敲回车,那么虽然返回的的确是空字符串,但是光标就会跳到下... 我用的是gets_s,输入字符串后按回车,录入该字符串,同时光标跳到下一行。

那么问题是,如果我输入的是空字符串直接敲回车,那么虽然返回的的确是空字符串,但是光标就会跳到下一行,这行就空掉了。

用逐个录入逐个输出的方法,如果一次输入的字符串过长,达到了两行,那么光标在第二行的时候用退格键无法退到第一行。

用scanf的话,第一不能有空格,第二也存在换行的问题。

求高人解决!
第一,编程环境是VC2008(我用的是gets_s不是gets就是这个原因)
第二,要支持退格,下一行能退到上一行去
展开
 我来答
匿名用户
2010-04-26
展开全部
按回车后不换行可以用conio库函数实现,示例:

//---------------------------------------------------------------------------

#include <stdio.h>
#include <conio.h>

int main(void)
{
char c;
char a[100]={0};
int i;

for (i = 0; i<100;) {
c=getch();
if (c!='\r') {
putch(c);
a[i++]=c;

}
else {
a[0]=0;
i=0;
clrscr();
cputs(a);

}
}

return 0;
}
//---------------------------------------------------------------------------
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
903896940
2010-04-26 · TA获得超过240个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:325万
展开全部
给你一函数,可以控制光标移动的位置的

void gotoxy(int x,int y)
{
COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
}
其他你自己搞定吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gqgq0311
2010-04-26 · TA获得超过768个赞
知道小有建树答主
回答量:563
采纳率:100%
帮助的人:270万
展开全部
没有办法的

就算真的有这个方式他的作用也太小了呀
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式