무조건 배열만 들어가야 하는 건 아니죠. 1번에서 프로그램이 죽는 이유는 초기화되지 않은 포인터를 써서 그런 것 같은데, 포인터라도 충분한 크기의 영역을 할당해 주고 건네주면 괜찮을겁니다. 배열도 따지고 보면 (배열의 이름은) 포인터잖아요?
그리고, test파일이 500자가 넘을 때는 저도 딱히 묘수가 떠오르지 않네요. 그저 일정 단위별로 (100자면 100자, 256자면 256자...) 조각내서 읽어들이는 수 밖에... 혹시 다른 분들 알고 계십니까?
전 초보라서 잘모르곘지만.
getline 이라는게 한줄을 읽어 들이는거죠? 파일 전체를 읽는것이 아니라..
문제는 한줄이 500자 이상 넘어가면 어떻게 하냐는 건가요?
윗분이 말한것처럼 조각내서 저장하면 될것 같은데...
이왕 조각내는거 100 단위로 하지말고.
그냥 한글자로 조각낸후에 스트링을 하나 만든후에 저장을하면 되지 않을까염?
----------------------------------------------------------------------------
허접한 페도라 가이드 http://oniichan.shii.org
--------------------------------------------------------------------------------------------------------------- 루비 온 레일즈로 만들고 있는 홈페이지 입니다.
http://jihwankim.co.nr
여러 프로그램 소스들이 있습니다.
필요하신분은 받아가세요.
이렇게 하는 건 어떻습니까?
#include <string> std::string filestring; ifstream fin("test"); getline(fin, filestring);
답변주신 분들 모두 감사합니다.
strtok에 string넣으려니 또 안되는 것 같아 어쩔 수 없이 char* 형식으로 넣기 위해 위와 같이 한거죠.
분명 두가지를 모두 만족할 수 있는 방법이 있을텐데...좋은 방법 없을까요?
굳이 strtok을 쓰고 싶으시면 string::c_str()을 이용해서 char*를 받아내서 이용하면됩니다... 딱히 이유가 없다면 훌륭한 string이나 stl의 함수들을 활용하는게 좋을것 같습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
그냥 지나가다...
무조건 배열만 들어가야 하는 건 아니죠. 1번에서 프로그램이 죽는 이유는 초기화되지 않은 포인터를 써서 그런 것 같은데, 포인터라도 충분한 크기의 영역을 할당해 주고 건네주면 괜찮을겁니다. 배열도 따지고 보면 (배열의 이름은) 포인터잖아요?
그리고, test파일이 500자가 넘을 때는 저도 딱히 묘수가 떠오르지 않네요. 그저 일정 단위별로 (100자면 100자, 256자면 256자...) 조각내서 읽어들이는 수 밖에... 혹시 다른 분들 알고 계십니까?
ㅇ.,ㅇ
전 초보라서 잘모르곘지만.
getline 이라는게 한줄을 읽어 들이는거죠? 파일 전체를 읽는것이 아니라..
문제는 한줄이 500자 이상 넘어가면 어떻게 하냐는 건가요?
윗분이 말한것처럼 조각내서 저장하면 될것 같은데...
이왕 조각내는거 100 단위로 하지말고.
그냥 한글자로 조각낸후에 스트링을 하나 만든후에 저장을하면 되지 않을까염?
----------------------------------------------------------------------------
허접한 페도라 가이드 http://oniichan.shii.org
---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.
http://jihwankim.co.nr
여러 프로그램 소스들이 있습니다.
필요하신분은 받아가세요.
이렇게 하는 건
이렇게 하는 건 어떻습니까?
string으로 할 생각은 해보았지만...
답변주신 분들 모두 감사합니다.
strtok에 string넣으려니 또 안되는 것 같아
어쩔 수 없이 char* 형식으로 넣기 위해 위와 같이 한거죠.
분명 두가지를 모두 만족할 수 있는 방법이 있을텐데...좋은 방법 없을까요?
굳이 strtok을 쓰고
굳이 strtok을 쓰고 싶으시면 string::c_str()을 이용해서 char*를 받아내서 이용하면됩니다...
딱히 이유가 없다면 훌륭한 string이나 stl의 함수들을 활용하는게 좋을것 같습니다.
댓글 달기