C语言按回车录入字符串后不换行,能做到吗?
我用的是gets_s,输入字符串后按回车,录入该字符串,同时光标跳到下一行。那么问题是,如果我输入的是空字符串直接敲回车,那么虽然返回的的确是空字符串,但是光标就会跳到下...
我用的是gets_s,输入字符串后按回车,录入该字符串,同时光标跳到下一行。
那么问题是,如果我输入的是空字符串直接敲回车,那么虽然返回的的确是空字符串,但是光标就会跳到下一行,这行就空掉了。
用逐个录入逐个输出的方法,如果一次输入的字符串过长,达到了两行,那么光标在第二行的时候用退格键无法退到第一行。
用scanf的话,第一不能有空格,第二也存在换行的问题。
求高人解决!
第一,编程环境是VC2008(我用的是gets_s不是gets就是这个原因)
第二,要支持退格,下一行能退到上一行去 展开
那么问题是,如果我输入的是空字符串直接敲回车,那么虽然返回的的确是空字符串,但是光标就会跳到下一行,这行就空掉了。
用逐个录入逐个输出的方法,如果一次输入的字符串过长,达到了两行,那么光标在第二行的时候用退格键无法退到第一行。
用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;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#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;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你一函数,可以控制光标移动的位置的
void gotoxy(int x,int y)
{
COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
}
其他你自己搞定吧
void gotoxy(int x,int y)
{
COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
}
其他你自己搞定吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有办法的
就算真的有这个方式他的作用也太小了呀
就算真的有这个方式他的作用也太小了呀
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询