|
strncpy( buf, Memo1->Lines->Text.c_str(), 80); 을
strncpy( buf, Memo1->Lines->Strings[Memo1->Lines->Count-1].c_str(),80);
로 바꿔보세요.
Text는 전체 라인을 리턴하지만
String[......]은 각 라인을 리턴하게 되지요.
아야 님이 쓰신 글 :
: char *S_prompt = "CON>";
: //------------------------------------
: short GetCommandCode( char *str)
: {
: return (-1);
: }
:
: //--------------------------------------------------------------------------------------------
: TForm1::Memo1KeyDown부분
: ///////////////////////////////
: char buf[ 80];
: short cmd;
:
: switch( Key) {
: case VK_RETURN:
: strncpy( buf, Memo1->Lines->Text.c_str(), 80); <-----------buf에 입력한 라인별 text가
: 각납되어 야 하는 데 전text가 들어가버림><;
: cmd = GetCommandCode( buf);
: if ( cmd != (-1)){
: /* 정상실행함 */
: } else {
: Memo1->Lines->Add( "???"); // ERROR처리
: }
: Memo1->Lines->Add( S_prompt);
: break;
: }
: //--------------------------------------------------------------
: /*---실 행---*/
: CON>aaa
: aaa
: CON>ㅎㅎㅎㅎㅎ
: ???
: CON>| <=======커서는 다음행에 와있슴...
: //-------------------------------------------------------------
:
: 또다시 질문을 올리게 되서 정말 송구합니당...m(--)m
: 이번엔 전부 올립니다...
: CON>은 앞머리에 항상 따라다니고요...문자를 입력하면 입력한
: 문자만 버퍼에 각납하고 싶은데 버퍼에 CON>aaa\aaaCON>ㅎㅎㅎㅎㅎ\n???\n각납이되어서 라인별로 처리가 안되요....
: 라인별로 따로 각납할려면 어떻게 해야되요...???
: 좋은 방법좀 가르쳐 주세요....................
: 부탁합니다...
|