Skip to content

Instantly share code, notes, and snippets.

@alphaKAI
Last active December 10, 2015 17:19
Show Gist options
  • Save alphaKAI/4467301 to your computer and use it in GitHub Desktop.
Save alphaKAI/4467301 to your computer and use it in GitHub Desktop.
今日完成した今日の成果 品詞IDによって違うファイルに振り分ける処理
#include "my_lib.h"
//copyright (C) alpha_kai_NET All rights reserved. 2012-2013 alpha-kai-net.info
//GPLv3 LICENSE
int main(void){
//RetrunStrings
char filename[]= "data.txt";
char data2[]= "data2.txt";
char str[1000];
char fstr[1000];
int return_sum;
//main
int i;
int num;
int sum;
int dum;
int kum;
char tmp[260];
char tmpf[]= "tmp.txt";
int posid;
FILE *fp;
FILE *ftmp;
//一時的に分解 品詞iD TAB 品詞のformatでdata2.txtに出力
num=system("mecab -F \"%h\\t%m\\n\" -E \"\" data.txt -o data2.txt");
num=check(data2);
if(num==0){
printf("ERROR:\n");
printf("カレントディレクトリに%sがありません\n", data2);
printf("終了します\n");
return 1;
}
dum=check(filename);
if(dum==0){
printf("ERROR:\n");
printf("カレントディレクトリに%sがありません\n", filename);
printf("終了します\n");
return 1;
}
else if(dum==1){
sum=how_line(filename);
for(i=1; i<=sum; i++){
return_sum = ReturnStrings(data2, i, fstr, 1000);
if(return_sum!=0){
switch(return_sum){
case -1:
printf("ファイルオープンに失敗\n");
return -1;
break;
case -2:
printf("データ取得失敗\n");
return -2;
break;
default:
printf("返り値が異常です\n");
return return_sum;
break;
}
}
sscanf(fstr, "%d\t%s", &posid, str);
sprintf(tmp, "word/%d.txt", posid);
kum=check(tmp);
if(kum==1){
fp=fopen(tmp, "ab");
}
else if(kum==0){
fp=fopen(tmp, "wt");
}
fprintf(fp, "%s\n", str);
fclose(fp);
}
}
else{
printf("ERROR:\n");
printf("ファイルチェックの返り値が異常\n");
return 3;
}
printf("Complete\n");
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment