Re: C kérdés (MPLAB)
SZIGETI Szabolcs
szigi at ik.bme.hu
Thu Nov 24 13:39:13 CET 2005
Hali!
stdargs.h és a vprintf környékén nézz körül!
ANSI C szerint valahogy igy kell, ha emlekeim nem csalnak:
ket integer es tetszoleges szamu char *-ot fogado fv.
#include <stdarg.h>
void fuggveny(int elso_arg, int masodik_arg, ...)
{
va_list ap;
char *argp;
va_start(ap,masodik_arg );
while ((argp = va_arg(ap, char * ) ) != NULL)
{
/* itt argp mutat a következő argumentumokra, a tipusa barmi
lehet, csak argp-t es a fenti reszben a char*-ot kell cserelni */
valamit csinalunk az argumentumokkal egymas utan, de
ha neked pl. printf kell, akkor a va_list-et atadhatod neki az
utolso argumentumok helyett vrintf("formatum", ap), ekkor eretelemszeruen
nem kell a while ciklusban kibányástzni a cuccokat.
*/
va_end(ap);
}
Szabolcs
----- Original Message -----
From: "Dévényi Zsolt" <dzsolt at sdktech.com>
To: <elektro at tesla.hu>
Sent: Thursday, November 24, 2005 1:14 PM
Subject: C kérdés (MPLAB)
Sziasztok!
Van egy C-s problémám:
Adva vagyon a következő néhány programsor, mely jól működik. Szeretnék ebből
létrehozni egy fg-t mivel sokszor használom, de sajnos nem megy a fejléc
megírása. A változo hosszú paraméterlistával(sprintf) nem tudok mit kezdeni
:
o_gotoxy(1,2);
sprintf(char_buff,(const far rom char *)"Nappali 1 :
%3d",data[0]);
for(osdx=0;osdx<strlen(char_buff);osdx++){
send_char(char_buff[osdx],black,0);
}
Valami KIIR fg-t szeretnék csinálni. Igy szeretném meghívni a fg-t:
kiir(4, 3, "Nappali 1 : %3d",data[0]) vagy
kiir(4, 3, "Nappali 1 : %3d , %3d",data[0], data[1])
Mi legyen a fg fejléce?
void kiir(char x, char y, NA IDE NEM TUDOM MIT KELL IRNI )
{
o_gotoxy(x,y);
sprintf(char_buff,(const far rom char *)"Nappali 1 :
%3d",data[0]);
for(osdx=0;osdx<strlen(char_buff);osdx++){
send_char(char_buff[osdx],black,0);
}
}
Zsolt
-----------------------------------
Szponzorunk: http://tonerbolt.hu/
More information about the Elektro
mailing list