안녕하세요, 제가 읽어야 할 파일이 보통 다음과 같은 구조로 되어 있습니다.
2.345 0.8 0.97862 ....
동적으로 배열 크기를 잡기 위해 column 갯수를 알고 싶습니다.. 숫자와 숫자의 구분은 white space(tab, space,..)로 되어 있구요. 음... white space를 separator로 잡아서 처리하면 될 듯 한데, 막상 해보니 잘 안됩니다.ㅜㅜ 조언 부탁드립니다.
한 줄 읽고 거기서 분리하심이.
처리를 했는데 잘 안 되신다고 하시니 좀더 정확히 사정을 말씀하셔야 답변이 가능하겠네요.
source 를 올리셔도 좋고요.
white space를 기준으로 substring으로 잘라서 count하면 되겠는데, C 실력이 짧아서요. 일단 제가 나름대로 생각한 것은 다음과 같은 방식입니다. 이걸 좀 더 깔끔하게 처리할 수 없을까요?
int i=1; strtok(line," "); while (strtok(NULL," ")) i++;
It's better to burn out than to fade away. -- Kurt Cobain.
정규식을 이용해 whitespace를 split으로 간단하게 잘라낼 수 있을 것같습니다;
only php 유저라 C에 split과 같은 함수가 있는지는 잘 모르겠네요 :)
--------------------------------http://www.elegantcoder.com
저도 python에선 split을 통해 쉽게 해결했지요. 좌우간 제 code의 문제점은 seperator가 공백인지 tab인지 구별이 안되는 단점이 있네요. tab인지 공백인지 모두 싸잡아 처리할 방도가 없을까요?
그냥 separator를 적어주면 되네요. strtok(line," \t\n"), 요렇게 하면 공백과 tab 등 모두 처리 가능합니다. :)
http://kldp.org/node/70973
이것과 같은 내용이라 보이는데요.. (다른 분이 올린 걸 모르고, 거의 카피된 것 같은 소스를 마지막에 올렸었단 걸 방금 보면서 알았네요..아, 창피..=_=)
텍스트 포맷에 대한 자세한 정보
<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]
제 짧은 지식이 도움이 될까마는...
한 줄 읽고 거기서 분리하심이.
처리를 했는데 잘 안 되신다고 하시니 좀더 정확히 사정을 말씀하셔야
답변이 가능하겠네요.
source 를 올리셔도 좋고요.
답변 감사합니다.
white space를 기준으로 substring으로 잘라서 count하면 되겠는데, C 실력이 짧아서요. 일단 제가 나름대로 생각한 것은 다음과 같은 방식입니다. 이걸 좀 더 깔끔하게 처리할 수 없을까요?
It's better to burn out than to fade away. -- Kurt Cobain.
php로 생각해보면;;;
정규식을 이용해 whitespace를 split으로 간단하게 잘라낼 수 있을 것같습니다;
only php 유저라 C에 split과 같은 함수가 있는지는 잘 모르겠네요 :)
--------------------------------
http://www.elegantcoder.com
php로 생각해보면;;;
정규식을 이용해 whitespace를 split으로 간단하게 잘라낼 수 있을 것같습니다;
only php 유저라 C에 split과 같은 함수가 있는지는 잘 모르겠네요 :)
--------------------------------
http://www.elegantcoder.com
흠...
저도 python에선 split을 통해 쉽게 해결했지요.
좌우간 제 code의 문제점은 seperator가 공백인지 tab인지 구별이 안되는 단점이 있네요.
tab인지 공백인지 모두 싸잡아 처리할 방도가 없을까요?
It's better to burn out than to fade away. -- Kurt Cobain.
앗,
그냥 separator를 적어주면 되네요. strtok(line," \t\n"), 요렇게 하면 공백과 tab 등 모두 처리 가능합니다. :)
It's better to burn out than to fade away. -- Kurt Cobain.
...
http://kldp.org/node/70973
이것과 같은 내용이라 보이는데요..
(다른 분이 올린 걸 모르고, 거의 카피된 것 같은 소스를 마지막에 올렸었단 걸 방금 보면서 알았네요..아, 창피..=_=)
댓글 달기