Kezdőoldal » Számítástechnika » Programozás » C hogyan lehet mindig ugyan...

C hogyan lehet mindig ugyan abba a sorba kiiratni valamit?

Figyelt kérdés

Azt akarom elerni,hogy csak az ertekek valtoztanank a terminalban a kiiratasanal.(ne csinaljon sortorest es irja le ugyan azt X erteke: , Y erteke: )


X erteke: változo , Y erteke: változó


és ne ez tortenjen:

X erteke: 5 , Y erteke: 10

X erteke: 6 , Y erteke: 12

X erteke: 4 , Y erteke: 14

X erteke: 5 , Y erteke: 16

...



Erre mar van egy mukodo funkcio ami így nez ki:


void print_fused_quaternions(mpudata_t *mpu)

{

printf("\rW: %0.2f X: %0.2f Y: %0.2f Z: %0.2f ",

mpu->fusedQuat[QUAT_W],

mpu->fusedQuat[QUAT_X],

mpu->fusedQuat[QUAT_Y],

mpu->fusedQuat[QUAT_Z]);


fflush(stdout);

}


Hasonloan akartam megirni egy masik programkodban es a kettot egymas utan lefutatni,de nem tortenik meg, ugyanis mindig egymas ala felhalmozva fut le


printf("\rTemp: %.3f C ", tempC / 1000);

//probaltam fflush(stdout); is ehhez utana irni - de nem mukodott ahogy szeretnem.


2016. nov. 20. 15:24
 1/8 anonim ***** válasza:
Ez valami beágyazott eszközhöz kell?
2016. nov. 20. 15:29
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

igen - ket szenzor méréseit szeretnem kiiratni.

Az egyikhez a kod ugy lett megirva,ahogy szeretnem - hogy csak a meresek valtoznak a szoveg marad. A masikhoz amit ezzel a koddal szeretnek kombinalva,hogy egymas utan tortenjen a kiiratas - annal viszont ugy lett megirva,hogy egymas ala iratja ki, kb masodpercenkent.

2016. nov. 20. 15:34
 3/8 anonim ***** válasza:
Nem létezik ilyen dolog, neked kell leprogramozni. Mégpedig úgy, hogy letörlöd az egész képernyőt, és visszaírod, ami kell. Ebbe a nem változó sorok is beletartoznak természetesen. A program használója számára csak az értékek mozgása lesz látható.
2016. nov. 20. 16:57
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:

\r a printf-nel ha jol tudom ezt csinalja, csak nem mukodik


\r-t

printf("\rDevice: %s - ", dev);

printf("\rTemp: %.3f C ", tempC / 1000);


a program igy nez ki (futtatashoz kene talan a szenzor hozza) :

dsb.h


http://

pastebin.com

/8Xy9La4h



test.c

gcc -std=gnu99 test.c -o test

./test


http://

pastebin.com

/iaEfxBfg

2016. nov. 20. 17:06
 5/8 anonim ***** válasza:
Szerintem a \r nem csinál semmit, hanem az egy "carriage return". Aztán ami kijelzi neked, az fogja valahogy értelmezni. Nem a printf töröl képernyőt, még véletlen sem.
2016. nov. 20. 18:54
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

én ezt szoktam használni

printf("\r sok sok space \r");

ez tulajdonképpen a jelenlegi sort felülírja space-ekkel, és utána ha valamit printelsz megint a sor elejéről indul

2016. nov. 20. 23:40
Hasznos számodra ez a válasz?
 7/8 tabaki ***** válasza:
Nem vagyok járatos a C-ben, meg talán a problémát sem látom át, de az ncurses library nem használható? Vagy az valamiért nemkívánatos?
2016. nov. 21. 02:48
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:

koszonom a valaszokat. Most mar mukodik.

Valahol a kodban volt egy


printf("\nValami szoveg...


es ez miatt gondolom nem mukodott a \r a masik printf-el.

2016. nov. 21. 11:34

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!