質問編集履歴
1
追記
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,4 +1,34 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            http://www9.plala.or.jp/sgwr-t/lib/strtok.html
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            上のサイトでstrtokの挙動を確認していたのですが、2回目以降の操作ではstrtokにNULLを指定しています。1回目では変数名をstrtokに渡していますが、なぜ2回目以降は変数名ではなくNULLで問題ないのでしょうか?
         
     | 
| 
       4 
     | 
    
         
            -
            NULLだけだとstrtokにどの変数を参照するのか指定していない気がするのですが。。。よろしくお願いいたします。
         
     | 
| 
      
 4 
     | 
    
         
            +
            NULLだけだとstrtokにどの変数を参照するのか指定していない気がするのですが。。。よろしくお願いいたします。
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            使用例
         
     | 
| 
      
 7 
     | 
    
         
            +
            ```c
         
     | 
| 
      
 8 
     | 
    
         
            +
            #include        <stdio.h>
         
     | 
| 
      
 9 
     | 
    
         
            +
            #include        <string.h>
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            int main(void)
         
     | 
| 
      
 12 
     | 
    
         
            +
            {
         
     | 
| 
      
 13 
     | 
    
         
            +
                    char str[] = "ABCD ef.1234.G";
         
     | 
| 
      
 14 
     | 
    
         
            +
                    char *tp;
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                    /* スペース.を区切りに文字列を抽出 */   
         
     | 
| 
      
 17 
     | 
    
         
            +
                    tp = strtok( str, " ." );
         
     | 
| 
      
 18 
     | 
    
         
            +
                    puts( tp );
         
     | 
| 
      
 19 
     | 
    
         
            +
                    while ( tp != NULL ) {
         
     | 
| 
      
 20 
     | 
    
         
            +
                            tp = strtok( NULL," ." );
         
     | 
| 
      
 21 
     | 
    
         
            +
                            if ( tp != NULL ) puts( tp );
         
     | 
| 
      
 22 
     | 
    
         
            +
                    }
         
     | 
| 
      
 23 
     | 
    
         
            +
                    
         
     | 
| 
      
 24 
     | 
    
         
            +
                    return 0;
         
     | 
| 
      
 25 
     | 
    
         
            +
            }
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            ```
         
     | 
| 
      
 28 
     | 
    
         
            +
            結果
         
     | 
| 
      
 29 
     | 
    
         
            +
            ```c
         
     | 
| 
      
 30 
     | 
    
         
            +
            ABCD
         
     | 
| 
      
 31 
     | 
    
         
            +
            ef
         
     | 
| 
      
 32 
     | 
    
         
            +
            1234
         
     | 
| 
      
 33 
     | 
    
         
            +
            G
         
     | 
| 
      
 34 
     | 
    
         
            +
            ```
         
     |