LetsGoBrandon MYPI

LetsGoBrandon
접속 : 3545   Lv. 50

Category

Profile

Counter

  • 오늘 : 485 명
  • 전체 : 504051 명
  • Mypi Ver. 0.3.1 β
[ETC] C++ 단어 하나씩 읽어 들이는 코드... (4) 2012/02/12 PM 05:25
단어 하나씩 읽어 들이는 c++ 코드인데... 빈화면만 보여주네요.
뭐가 문제인지 내 머리로는 도저히 모르겠슴다.

뭐가 문제일까요? 능력자분들 답변좀 해주시면 감사하겠습니다.
아래는 문제의 프로그램 되것슴다.

그런데.. 이렇게 코드 직접 만들지 말고 뭔가 간단한 방법 없을까요? 스트링에서
단어 하나씩 읽어 들이는 기본 펑션 같은것도 있을법도 한데.. -,.-


.h 헤더파일.


#include <fstream>

using namespace std;

#ifndef _TEXT_FILE_READER_WRAPPER_
#define _TEXT_FILE_READER_WRAPPER_

const int nMaxWordLength = 32;

class TextFileReaderWrapper
{
private:
ifstream o-nputFileStream;

public:
TextFileReaderWrapper( char * pcFilename );
bool retrieveNextWord( char * pcNextWord );
// void retrieveAllWords( char * pcLastWord );
};

#endif


**********************************************************************
.cpp 파일.

#include <iostream>
#include <cstdlib>
#include "Text File Reader Wrapper.h"

using namespace std;

TextFileReaderWrapper::TextFileReaderWrapper( char * pcFilename )
{
o-nputFileStream.open(pcFilename);
if (!o-nputFileStream)
{
cout << "Error opening file: " << pcFilename << endl;
exit(1);
}
}


/
bool TextFileReaderWrapper::retrieveNextWord( char * pcNextWord )
{
int nPos = 0;
char ch;
bool bWordCompleted = false;


// and the file hasn't reached an end yet...
while ( !bWordCompleted && (ch = this->o-nputFileStream.get()) != EOF )
{
switch (ch)
{
case '\n': case '\r': case '\t': case ' ': // various whitespaces
if (nPos==0) continue;
pcNextWord[nPos] = '\0';
bWordCompleted = true;
// cout << "The next extracted word is: " << pcNextWord << endl;
break;

default:
pcNextWord[nPos] = ch;
nPos++;
break;
}
}


if (!bWordCompleted)
{
pcNextWord[nPos] = '\0';
cout << "The last extracted word is: " << pcNextWord << endl;
//since EOF has been reached, this is the last word in the file
return true;
}
else

return false;
//return bWordCompleted;
}

신고

 

마시멜로☆    친구신청

제가 C는 잘모르고 자바에서는 문자열 자르는 메서드 있던데 C도 있지 않을까요

ruriwinq    친구신청

마시멜로☆// 있을듯도 한데 관련 정보를 못찾겠네요, 간단하게 하나의 스트링 라인에서 단어만 추출한다고 생각해도 쓸수 있는 매소드를 못찾겠더군요. 이걸 일일이 따로 프로그램해줘야 되는건지.,.,

Vital    친구신청

c언어 함수 중에 strtok() 함수 검색해보시길...

ruriwinq    친구신청

Vital// 정보 감사합니다 찾아봐야 겠네요 ^^
X