サンプル集  >  LinuxC  >  セパレータ分割
セパレータ分割
2005/10/25

引数で受け取った文字列をセパレータ「,」で分解し表示します。

ソースは BorlandC No.005 をそのまま使用しています。

◆環境
OS Linux 2.6.9-5.0.3.EL
gcc 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)

makefileだけ環境に合わせて作ります。

makefile
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
# 2005/10/24 (c) ymlib.com
TARGET = BCC005
OBJS = BCC005.o
CC = /usr/bin/gcc

$(TARGET): $(OBJS)
        $(CC) -o $@ $(OBJS)
.SUFFIXES: .c.o
.c.o:
        $(CC) -g -Wall -c $<

clean:
        rm -f $(TARGET) $(OBJS)

◆実行結果
$ ./BCC005 1
BCC005 start!!
要素数=[1]
 1:[1]
BCC005 end!!

$ ./BCC005 11
BCC005 start!!
要素数=[1]
 1:[11]
BCC005 end!!

$ ./BCC005 11,,22,,33,,44,,55,,66
BCC005 start!!
要素数=[11]
 1:[11]
 2:[]
 3:[22]
 4:[]
 5:[33]
 6:[]
 7:[44]
 8:[]
 9:[55]
10:[]
11:[66]
BCC005 end!!

$ ./BCC005 1,,,,,,,,
BCC005 start!!
要素数=[9]
 1:[1]
 2:[]
 3:[]
 4:[]
 5:[]
 6:[]
 7:[]
 8:[]
 9:[]
BCC005 end!!

$ ./BCC005 ,,,
BCC005 start!!
要素数=[4]
 1:[]
 2:[]
 3:[]
 4:[]
BCC005 end!!

$ ./BCC005
BCC005 start!!
セパレータ分解する文字列を指定して下さい。


2016/01/29追記

次の環境でも正しく動作しました。

OS Debian 8.2
Linux T07SV01 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
gcc 4.9.2 (Debian 4.9.2-10)

◆実行結果
# ./BCC005 1,2,3,4,5
BCC005 start!!
vf=[5]
 1:[1]
 2:[2]
 3:[3]
 4:[4]
 5:[5]
BCC005 end!!

# ./BCC005 ,,3,,
BCC005 start!!
vf=[5]
 1:[]
 2:[]
 3:[3]
 4:[]
 5:[]
BCC005 end!!

「要素数」という日本語がvfと文字化けしてますね。

▲ PageTop  ■ Home


Copyright (C) 2016 ymlib.com