char name[10], surname[10], middle_name[10];
printf("Имя: ");
scanf("%s", &name);
printf("Фамилия: ");
scanf("%*s\n", &surname);
printf("Отчество: ");
scanf("%s\n", &middle_name);
Enter
его перекидывало на следующий вопрос. А в данное реализации при нажатии на Enter
просо перебрасывает на новую строку, ну вообщем стандартное поведение. #include <iostream>
#include <ncurses.h>
using namespace std;
string get_string()
{
string result;
while(true) {
int c = getch();
if (c == -1)
continue;
if (c == 10)
break;
if (c == 127) {
if (result.length() > 0) {
result = result.substr(0, result.length() - 1);
clear();
addstr("Enter name: ");
addstr(result.c_str());
}
}
else if (c > 33 && c < 127) {
result += (char) c;
addch(c);
}
}
return result;
}
int main() {
initscr();
noecho();
addstr("Enter name: ");
string name = get_string();
endwin();
cout << endl << name << endl;
return 0;
}