|
까마귀 님이 쓰신 글 :
:
: 님이 주신 답변은 Interger Data를 String에 넣는 방법입니다. 그것은 저도 알고 있는 내용이고요...
: 저는 String의 값은 포맷을 통해 Integer Data로 변환하고 싶은데요...히...
:
: 예전 도스버젼에서 사용되던 sscanf(const char *format,...)과 같은 함수요...쯥...
그러면 그냥
#include <stdio.h>
하시고
sscanf(dPosMain.c_str(), "%d %d %d %d", &Top, &Left, &Height, &Width);
로 하시면 됩니다.
또는 C++ 식으로 쓰시자면
#include <sstream>
하시고
stringstream ssPosMain;
ssPosMain << dPosMain.c_str();
ssPosMain >> Top >> Left >> Height >> Width;
단, 여기서 두 방법 모두
String dPosMain="200,200,640,480";
로 하시면 안되고요,
String dPosMain="200 200 640 480";
로 해야 된다는 건 아시겠죠?
:
: 김백일 님이 쓰신 글 :
: : 까마귀 님이 쓰신 글 :
: : : 저는 계속 질문만 하는군요..^_^
: : :
: : : AnsiString을 이용하여 각종 정보를 ini화일에 저장한후 읽어들이려고 합니다.
: : : 그런데 AnsiString Class에는 출력함수는 있는데 입력함수가 없어서...
: : : 물론 AnsiString::Pos(), AnsiString::SubString와 StrToInt()를 이용하는 방법이 있지만,
: : : 소스만 길어지는 듯하고, TIniFile::ReadInteger()를 이용하면, INI 화일의 줄이 많아져서
: : : 별로 달갑지 않아어요...쯥.
: : :
: : :
: : : void __fastcall TMain::FormCreate(TObject *Sender) {
: : : TIniFile *ini;
: : : String dPosMain="200,200,640,480";
: : : ini=new TIniFile(ExtractFilePath(Application->ExeName)+"cmg.ini");
: : : dPosMain=ini->ReadString("Main","Location",dPosMain);
: : : delete ini;
: : : _________________________________________________________________________
: : : dPosMain.여기가 없어서 쯥...^_^!...("%d,%d,%d,%d",Top,Left,Height,Width);
: : dPosMain.sprintf("%d,%d,%d,%d",Top,Left,Height,Width);
: : //또는 dPosMain.printf("%d,%d,%d,%d",Top,Left,Height,Width);
: : // 참고로 printf()는 final formatted string의 길이를 리턴합니다.
: : //또는 dPosMain.Format("%d,%d,%d,%d", ARRAYOFCONST(((int)Top),((int)Left),((int)Height),((int)Width)));
: : : -------------------------------------------------------------------------
: : : }
: : :
: : : void __fastcall TMain::FormClose(TObject *Sender) {
: : : TIniFile *ini;
: : : String dPosMain;
: : : ______________________________________________________
: : : dPosMain.sprintf("%d,%d,%d,%d",Top,Left,Height,Width); //여기는 있는데....^_^!...
: : : ------------------------------------------------------
: : : ini=new TIniFile(ExtractFilePath(Application->ExeName)+"cmg.ini");
: : : ini->WriteString("Main","Location",dPosMain);
: : : delete ini;
: : : }
|