FC2ブログ

FreeBASIC 学習:strtok, 文字列を指定文字で分割

2019-08-17 :  PCクリニック
FreeBASIC は、実質 C言語 と同じ?!

と云うことで、
「C言語 関数集」検索を行って、
C言語関数辞典」を見つけた。

ここには、多分全てのC言語関数が載っている?

   当サイトは、その名のとおりC言語の関数やマクロの使い方
  についての説明を主なコンテンツとしております.
   コーディング中に「あれ,この関数なんだっけ?」となったときや,
  関数をmanコマンドで調べたけれど,いまいち使い方が分からないとき
  などにご利用いただければ幸いです.


  “C言語関数辞典”は大きく分けて4つのコンテンツから構成される

   コンテンツ     説明
  ヘッダファイル別  C言語の関数とマクロをヘッダファイルごとに掲載
  アルファベット別  C言語の関数とマクロを索引(アルファベット)ごとに掲載
  C言語Tips集     C言語のTipsを各分類ごとに掲載
  C言語用語集     使用している用語についての解説を掲載

  ・・・・・
  ・・・・・



この中の、string.h に、

  strtok : 文字列を区切り文字で分割する

がある:

  strtok

  strtok 関数は・・・・・ char* strtok( char* s1, const char* s2 );
  s1 が指す文字列を,
  s2 が指す文字列の中のいずれかの文字で区切られる字句の列に分割します.

 strtok 関数は,
  Perl などの他のプログラム言語の文字列分割関数とは異なり,
 1 回の呼び出しで複数の分割を行うことができません.
 文字列の分割は,strtok 関数を呼出すごとに 1 回ずつ行われます.

  1 回目の呼び出しには,s1 に分割する対象の文字列を指定します.
  2 回目以降の呼び出しは,s1 に NULL を指定することで,
  前回分割された場所の次から分割を開始します.
  分割できる文字列がなくなると strtok 関数は NULL を返します.



この、「C言語関数辞典」に載っているヘッダファイルは、
(全てが?) ~/FreeBASIC/inc/crt/ にある?

そこで、
C言語サンプルプログラム
にあるサンプルを FreeBASIC で書き直してみた。
'' #include "crt/stdio.bi"   ' 無くて可
'' #include "crt/stdlib.bi" ' 無くて可
#include "crt/string.bi"

dim as string s1 = "0055,Ichiro Suzuki,Seattle,090-9999-9999"
dim as zstring ptr cod, nam, add, tel, emp

'' ----- 1回目の呼出し
cod = strtok(s1, ",")

'' ----- 2回目以降の呼出し
nam = strtok(NULL, ",")
add = strtok(NULL, ",")
tel = strtok(NULL, ",")
emp = strtok(NULL, ",")

print "code:"; *cod
print "name:"; *nam
print "address:"; *add
print "tel:"; *tel
print "empty:"; *emp

Sleep
これを、コンパイル&実行。

OKですね。



本日はここまで。


FreeBASIC 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

190508
関連記事
スポンサーサイト



コメントの投稿

管理者にだけ表示を許可する

人気blog Ranking/おきてがみ


おきてがみ
最新記事
カレンダー
08 | 2019/09 | 10
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク