getdelimは、getlineの引数に加えて、区切り文字(デリミタともいう)を指定できる。
test.txtを、
$ cat test.txt ABCDE;FGHIJ KLMNO;PQRST UVWXYZ$
catで見ると、このようなテキストに編集する。
改行とは別にセミコロン(';')でも区切ってくれるように指定する。
どうも、1つしか区切り文字は指定できない模様。
とはいえ、ほぼ、そのまま、getlineをgetdelimに置き換えた。
$ vi getdelim.c $ cat test.txt ABCDE;FGHIJ KLMNO;PQRST UVWXYZ$ gcc getdelim.c -o getdelim $ ./getdelim line = [ABCDE;] line = [FGHIJ KLMNO;] line = [PQRST UVWXYZ] $
前後の'['と']'でわかるが、セミコロンで区切られたが、改行では区切られていない。
そして、セミコロンも含められている。
manでは、getlineと同じ並びにあるが、あくまでも1つだけ指定できる区切り文字のみで区切ることしかしない。(しかも区切り文字を含めている。)
Sample/unixsyscall/getdelim/getdelim/src/getdelim at master · bg1bgst333/Sample · GitHub