Mam pytanie jakim znakiem specjalnym przejść o jedną linię wyżej kursorem w terminalu? wiadomo że do dółu to trzeba zrobić cout<<"\n"; ale jak do góry?
gotoxy();
ale mi chodzi o znak specjalny do cout<<
Nie ma. Cout to taki odpowiednik archaicznej drukarki.
w takim razie coś z printf może
Też nie ma, te znaki są niezależne od cout czy printf, to element ASCII.
hehe. odwróć monitor
pobaw się z ncurses pod linuxem albo conio.h na windowsie
no właśnie robię to pod windą i muszę coś wykombinować żeby kursor przeskoczył linię wyżej, nie macie jakichś sposobów?
Są sposoby, jest <conio.h>
a tam gotoxy()
.
coutem ani printfem się nie da.
ale jak używać tego gotoxy()? może ktoś podać przykład?
Można też tak:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), {2,3});
cout<<'a';
return 0;
}
SetConsoleCursorPosition przyjmuje uchwyt do konsoli, i strukture COORD (dwie zmienne int X i Y), i ustawia kursor w konsoli na pozycji x, y. W tym programie ustawiłem kursor w pozycji (2, 3) i wypisalem tam litere 'a'.
Do poprzedniego posta, to jest g++ 4.5.0 z flagą --std=c++0x i wszystko smiga (bez tej flagi też)
PS nie wiem jak dorzucic komentarz do poprzedniego posta
jak nie można jak można, jest to lista agregacyjna :]
Ech, w obecnym standardzie C++ nie można, nie pieprzcie. To, że pod niektórymi wersjami niektórych kompilatorów to przechodzi to już inna sprawa, większość tego nie akceptuje. Po wywaleniu WINAPI otrzymujemy:
typedef short int SHORT;
typedef struct _COORD {
SHORT X;
SHORT Y;
} COORD, *PCOORD;
void SetConsoleCursorPosition(int zue, COORD zuo) {}
int main()
{
SetConsoleCursorPosition (0, {2,3});
}
Wklejamy w http://www.comeaucomputing.com/tryitout/ i spadamy na drzewo. To, że w dialektach dla gejów i innych mniejszości seksualnych są nawet elementy programowania aspektowego i reflekcji to nie znaczy, że trzeba się z tym wpierniczać wszędzie.
Dzięki za pomoc :)