Jakim znakiem specjalnym przejść o jedną linię wyżej kursorem w terminalu?

0

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?

0

gotoxy();

0

ale mi chodzi o znak specjalny do cout<<

0

Nie ma. Cout to taki odpowiednik archaicznej drukarki.

0

w takim razie coś z printf może

0

Też nie ma, te znaki są niezależne od cout czy printf, to element ASCII.

0

hehe. odwróć monitor

pobaw się z ncurses pod linuxem albo conio.h na windowsie

0

no właśnie robię to pod windą i muszę coś wykombinować żeby kursor przeskoczył linię wyżej, nie macie jakichś sposobów?

0

Są sposoby, jest <conio.h> a tam gotoxy().
coutem ani printfem się nie da.

0

ale jak używać tego gotoxy()? może ktoś podać przykład?

2

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'.

0

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

0

jak nie można jak można, jest to lista agregacyjna :]

0

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.

0

Dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1