void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i, l = Memo1->Text.Length(); //Memo1은 입력받은 문자
AnsiString t,a;
char b[1];
t = Memo1->Text;
for(int i=1; i<=l; i++) //한 개씩 변환하기 위해 for문을 사용
{
a = t.SubString(1,1);
strcpy(b,a.c_str());
Memo2->Lines->Add(int(b)); //Memo2는 ASCII 코드값을 나타내는 곳
t.Delete(1,1);
// l = Memo1->Text.Length();
}
}
배열의 문자열을 ASCII 코드값으로 변경하는 소스인데요. (사실 좀 비효율적인거 같지만,,,)
For문을 한번 돌고 나오면 (for문)조건부분의 변수 'l'의 값이 바뀌네요.
그래서 주석처리한 부분을 넣어줘야 제대로 실행이 되네요.
근데 도저히 for문의 'l'값이 변하는 이유를 알 수가 없어서 질문을 드립니다.
|