■strtokの意味
strtok=string+token
string=文字列
token=単語
strtokは文字列を単語に分解する関数です。
■strtok関数の使用例
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void 行を単語に分解(char *行頭) {
char *単語;
const char *分離文字 = "\n\t ";
while((単語 = strtok(行頭,分離文字)) != NULL){
printf("%zu=%s\n",
strlen(単語),
単語
);
//strtok第1引数は2回目からNULL
行頭 = NULL;
}
}
int main(void){
char *入力ファイル = "/usr/include/stdio.h";
FILE *fp = fopen(入力ファイル,"r");
if(fp == NULL){
fprintf(stderr,"%s 開かん\n",入力ファイル);
exit(1);
}
char 行[BUFSIZ];
while(fgets(行,BUFSIZ,fp) != NULL){
行を単語に分解(行);
}
fclose(fp);
}
コンパイル&実行してみて下さい。
※windows系は ”/usr/include/stdio.h” が
見つからないと思うので
適当に英数字からなるファイルに書き換えて下さい。