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