|
맨땅에 해딩... 님이 쓰신 글 :
: 이성희 님이 쓰신 글 :
: : 맨땅에해딩.. 님이 쓰신 글 :
: : : 이성희 님이 쓰신 글 :
: : : : 책에 구조체를 이용한 텍스트화일 작성법이 있어서 그대로 했는데 에러가 나서 제대로된
: : : : 결과가 나오고 있지 않습니다.
: : : :
: : : : 고수분들의 도움을 얻고자 합니다.
: : : :
: : : : 아래 소스 일부분을 올려드리겠습니다.
: : : :
: : : : void __fastcall TTaxTotForm::ToolButton2Click(TObject *Sender)
: : : : {
: : : : struct
: : : : {
: : : : char wrkgu[1];
: : : : char mcomnum[10];
: : : : char num[4];
: : : : char comnum[10];
: : : : char comname[30];
: : : : char comtype[17];
: : : : char comclass[25];
: : : : char count[7];
: : : : char blank[2];
: : : : char price[14];
: : : : char buga[13];
: : : : char drink1[1];
: : : : char drink2[1];
: : : : char numbers[4];
: : : : char prncom[3];
: : : : char bigo[28];
: : : : } Tax;
: : : :
: : : : Tax.bigo = '\n'; <=== 에러나는 부분
: : : : 에러코드-->[C++ Error] taxtot.cpp(512): E2277 Lvalue required
: : : : AnsiString wrkgu="2";
: : : : if(Table1->RecordCount > 0)
: : : : {
: : : : SaveDialog1->Execute();
: : : : if(SaveDialog1->FileName !="")
: : : : {
: : : : int OFileHandle;
: : : : OFileHandle = FileCreate(SaveDialog1->FileName+".txt");
: : : :
: : : : Table1->First();
: : : : while(!Table1->Eof)
: : : : {
: : : : if(Table1->FieldByName("num")->AsString !="")
: : : : {
: : : : strncpy(Tax.wrkgu,wrkgu.c_str(),sizeof(Tax.wrkgu));
: : : : strncpy(Tax.mcomnum,MNum.c_str(),sizeof(Tax.mcomnum));
: : : : ..
: : : : ..
: : : : ..
: : : : strncpy(Tax.drink1,Drink1.c_str(),sizeof(Tax.drink1));
: : : : strncpy(Tax.drink2,Drink2.c_str(),sizeof(Tax.drink2));
: : : : strncpy(Tax.numbers,Numbers.c_str(),sizeof(Tax.numbers));
: : : : strncpy(Tax.prncom,PrnCom.c_str(),sizeof(Tax.prncom));
: : : : FileWrite(OFileHandle,&Tax,sizeof(Tax));
: : : : }
: : : : Table1->Next();
: : : : }
: : : : FileClose(OFileHandle);
: : : : }
: : : : }
: : : : else
: : : : {
: : : : ShowMessage("텍스트화일을 작성할 수 없습니다.");
: : : : }
: : : : }
: : : : //---------------------------------------------------------------------------
: : : :
: : : : 에러나는 부분 주석처리하면 실행은 되는데 라인구분이 않되고 전부 이어져서 나옵니다.
: : : : Table 레코드 단위로 한 라인씩 출력할려구 하는데 결과가 제대로 않나와서 걱정입니다.
: : : : 그리고 공백은 그냥 공란으로 않나오고 "ㅁㅁㅁㅁㅁ"사각형 공란 표시가 나옵니다.
: : : :
: : :
: : :
: : : FileWrite하구 나서 구조체를 비워줘야 할것 같은데여..
: : : RecordCount를 돌구 있으니 FileWrite하고나서 구조체를 비워줘야지만 쓰레기 값이 없어질것같은데여..
: :
: : 텍스트화일 첫번째 라인부터 공백이 않들어가고 공란표시가 찍혀 나옵니다."ㅁㅁㅁㅁ"이렇게
: : 제가 C 언어 기초가 부족해서 그런지 많이 막히고 그러네요
: :
: : 고수분들의 조언 부탁드립니다.
: :
: : 참! 에러는 해결되서 텍스트화일은 레코드 단위로 잘 만들어지는데요
: : 두번째 라인부터 1번 칼럼에 공란이 자꾸 들어가네요 무엇때문인지 모르겠네요
: : 도움 부탁드립니다.
:
: 저도 지금 구조체 써 본지가 조금 되서리 기억은 잘 안나는데,
: 아래와 같이 초기화를 시키면 쓰레기 화일들은 없어 질것 같은데여..
:
: struct{
: char wrkgu [ 1] = 0x00;
: char mcomnum[10] = 0x00;
: char num [ 4] = 0x00;
: char comnum [10] = 0x00;
: char comname[30] = 0x00;
: char comtype [17] = 0x00;
: char comclass[25] = 0x00;
: char count [ 7] = 0x00;
: char blank [ 2] = 0x00;
: char price [14] = 0x00;
: char buga [13] = 0x00;
: char drink1 [ 1] = 0x00;
: char drink2 [ 1] = 0x00;
: char numbers [ 4] = 0x00;
: char prncom [ 3] = 0x00;
: char bigo [28] = 0x00;
: } Tax;
:
|