스트링조작하는방법좀 부탁드립니다

jjjjrr의 이미지

안녕하세요
리눅스서버와 윈도우즈클라이언트의 통신프로그램을 만들고있읍니다
클라이언트에서 스트링을 보낼때
예를들어서
"abc def ghij" 이런식으로 보내는데여
서버에서는 abc와 def 와 ghij로 구별해서 따로 스트링에 저장하고
각각에 대해서 처리를 해야됩니다
위의 예에서는 공백으로 값을 구별했는데여
값구별하는기호로 공백이 적당할까요
다른것은 적당한기호는 없을런지
줄바꿈기호 \n같은것도 리눅스와 윈도우즈간에 통용이되는죠....
그리구
위의예에서와같이 스페이스로 구분을 해서 보냈을때
서버에서받아서
어떻게 따로 떼어놓는지...
스트링조작하는방법좀 부탁드립니다

urmajest의 이미지

man strtok

^^

cedar의 이미지

화이트 스페이스(공백이나 \n, \t)로 구분하는 경우,
C라면 sscanf, C++이라면 stringstream을 사용하는 방법도 있죠.

gbkwon의 이미지

urmajest wrote:
man strtok

^^

strtok_r 을 추천 하던데요... 재진입에 관한 문제로..

man strtok ..

jjjjrr의 이미지

안녕하세요

   char name[25] = "kim ang hyung 1970 6.c";
   char * p;
   p=strtok(name," ");
   if(p) printf("%s\n",p);
   while(p!=NULL)
   {
     p=strtok(NULL," ");
     if(p) printf("%s\n",p);
    }

위코드를 실행시켜보니 정확하게동작하는데여
위에서 strtok의 반환값은 무엇을 나타내나요
제가 헷갈리는부분이
반환값p가 토컨의 주소를 반환한다고알고있는데여
그렀다면 첫번째
if(p) printf("%s\n",p); 에서는
ang hyung 1970 6.c 이출력되어야된다고
생각했는데여 그렇지않구 처음부터 하나하나 출력이되내여
어떻게해서 토큰을 기준으로 구분되는지
조언부탁드립니다
처음if(p) printf("%s\n",p); 에서
kim 이란글자가 출력되는이유를 모르겠읍니다
서지훈의 이미지

Quote:
if(p) printf("%s\n",p); 에서는
ang hyung 1970 6.c 이출력되어야된다고

위에서 p가 아니라 name을 찍으면
"ang hyung 1970 6.c" 이부분이 출력이 될 것입니다.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.