Ik heb het volgende probleem.
#include "stdio.h"
#include "stdarg.h"
void PutToBuffer(int first,...);
char buffer[200]={0};
void main()
{
char ch[200];
int i=1234,k,l;
//printf(ch);
PutToBuffer(i,i,(i==12346)?"ON":"OFF");
}
void PutToBuffer(int first,...)
{
va_list marker;
va_start(marker,first);
}
De functie PutToBuffer moet nu de variabele argumenten in een string zetten, zonder gebruik te meken van sprintf en een formatstring.
Heeft iemand enig idee hoe je toch het einde van de variabele argumenten m.b.v. de va_listpointer kunt achterhalen?
Ik wil dit graag, omdat ik dit op een embedded systeem wil laten draaien, die alleen codes i.p.v. strings naar buiten spuugt, waarna de pc aan de hand van de codes de formatstring opzoekt en de variabelen weer te voorschijn tovert. Strings en sprintf nemen te veel geheugenruimte in. Het gaat hier om veel strings, ook met variabele lengte.
#include "stdio.h"
#include "stdarg.h"
void PutToBuffer(int first,...);
char buffer[200]={0};
void main()
{
char ch[200];
int i=1234,k,l;
//printf(ch);
PutToBuffer(i,i,(i==12346)?"ON":"OFF");
}
void PutToBuffer(int first,...)
{
va_list marker;
va_start(marker,first);
}
De functie PutToBuffer moet nu de variabele argumenten in een string zetten, zonder gebruik te meken van sprintf en een formatstring.
Heeft iemand enig idee hoe je toch het einde van de variabele argumenten m.b.v. de va_listpointer kunt achterhalen?
Ik wil dit graag, omdat ik dit op een embedded systeem wil laten draaien, die alleen codes i.p.v. strings naar buiten spuugt, waarna de pc aan de hand van de codes de formatstring opzoekt en de variabelen weer te voorschijn tovert. Strings en sprintf nemen te veel geheugenruimte in. Het gaat hier om veel strings, ook met variabele lengte.