Portál AbcLinuxu, 10. května 2025 05:26

Dotaz: presmerovani printf

5.2.2004 08:27 tom
presmerovani printf
Přečteno: 124×
Odpovědět | Admin
Na paralelnim portu mam udelatko s LCD a matrix kbd, pro ktere mam napsany programek v C pro vstup a vystup znaku. Jde nejak presmerovat vystup funkce napriklad printf tak, aby se propojil na vstup moji funkce pro vystup znaku? (Vse v ramci jednoho programu.) Dik za radu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.2.2004 08:31 ivok
Rozbalit Rozbalit vše presmerovani printf
Odpovědět | | Sbalit | Link | Blokovat | Admin
netuším, co je to vstup funkce... ale asi se ptáte na sprintf?
5.2.2004 11:11 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše presmerovani printf
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím co potřebuješ, ale buďto v příkazovém řádku přesměrujeme výstup z jednoho programu do druhého program1 > program2. Nebo budeme muset změnit v tom zdrojáku ten printf za jinou funkci zapisující tam kam chceme do souboru, roury atd....
viz: man fprintf
a podle toho co otevřeme můžeme zapisovat do souboru nebo na obrazovku.
7.2.2004 11:59 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše presmerovani printf
Odpovědět | | Sbalit | Link | Blokovat | Admin
Promiň že ti moc nepomůžu, ale velice by se mi hodily podobné zdrojáky na výstup znaku z paraelního portu. Nemohl bys mi je pls poslat? (Jestli nejsou tajné.) Třeba bych ten problém zároveň vyřešil. Dík
7.2.2004 14:00 viky_black
Rozbalit Rozbalit vše presmerovani printf
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to vcelku proste:

#include "<"stdio.h">"

void tvojefunkce(char* znaky) { . . . };

char* printchar(char* cochcestisknout) { char* buffer = NULL; if (sprintf(buffer, cochcestisknout) != EOF) return = buffer; else return = NULL; };

tvojefunkce(printchar("Tohle se tiskne..."));

nebo to samozrejme muzes nacpat do jedne funce...

Kdyby neco viky_black"zavinac"centrum.cz
7.2.2004 14:32 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše presmerovani printf
Tohle udělá tak leda segmentation fault... co čekáš od volání sprintf() s prvním argumentem NULL?

K původnímu dotazu: pokud se ti nelíbí kejkle se bufferem předávaným sprintf() (resp. snprintf()), který musí být dostatačně velký, můžeš použít asprintf() [GNU rozšíření], která sama alokuje výsledný řetězec a jinak funguje stejně.
7.2.2004 16:38 viky_black
Rozbalit Rozbalit vše presmerovani printf
Pardon chybicka se vloudila. Od ceho jsou prekladace... Omlouvam se balamuceni a moc dekuji za upozorneni!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.