윈도우 프로그램을 짜면서 제일 짜증나는 부분이 printf 를 제대로 쓸수 없다는 것이다.
printf 는 표준 화면으로 출력을 내보내기 때문에...
그래서 Memo 로 출력할때 IntToStr , StrToInt 등을 무진장 써야된다.
하지만 sprintf 를 쓰면 Dos 에서 printf 를 쓰듯이 모든 형식지정자를 다 사용할 수 있으며
간단히 메모장으로 출력을 할 수 있다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
float f=0.1;
char* ch = "abcde";
char cha = 0x03;
char sbuff[200];
for (i=0; i<20; i++)
{
sprintf(sbuff,"%d ,%x, %p, %f, %c ,%s ",i,i,&i,f*i,cha,ch);
Memo1->Lines->Add(sbuff);
}
}
또는
AnsiString astTest;
for (i=0; i<20; i++)
{
astTest.sprintf("%d ,%x, %p, %f, %c ,%s ",i,i,&i,f*i,cha,ch);
Memo1->Lines->Add(astTest);
}
와같이 해도 된다. 하지만 다른 C program 과의 호환성을 생각해 보면 Ansistring 의 Method
쓰는것은 별로 좋지 않을듯...
|