wcstok_wcstombs_etc のバックアップソース(No.1) - アールメカブ

アールメカブ


wcstok_wcstombs_etc のバックアップソース(No.1)

[[Programming_C]]

全くやっかいだ.

 #include <stdio.h>
 #include <stdlib.h>
 //#include <wchar.h>
 #include <locale.h>
 #include <string.h>
 
 #define DELIMITER  L"/ ,、。"  /* 区切り文字 */

 int main(int argc, char **argv) {
 setlocale(LC_ALL, "");//""は空のママにすること
	
    wchar_t wbuf[] = L"それは面白い。これも面白い。でも,それは面白   くない."; 
   char str[100];
   wchar_t * node;
   wchar_t *endptr = NULL;
   node = wcstok(wbuf, DELIMITER,&endptr);
   // node = wcstok(wbuf, DELIMITER) はだめ
   while(node != NULL){
		//fputs("node = ", stdout); fputws(node, stdout); fputs("\n", stdout);こういう手もある
       wcstombs(str,node, 100); // wctomb は一文字を変換
		//		printf("str = %.1s\n", str);printf("str = %.*s\n", str);
		printf("str = %s\n", str);
		node = wcstok(NULL,  DELIMITER,&endptr );
		//node = strtok(NULL, ",");
	}
  return 0;
}