質問編集履歴
4
アップデートしました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
タ
|
1
|
+
Wikipediaのdumpデータから記事取得を目的としたプログラムの作成
|
test
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
自然言語処理について勉強しています。
|
2
|
-
Wikipediaのdumpデータからタイトルと本文を抜き出して処理をしようと思ってます。
|
2
|
+
Wikipediaのdumpデータからタイトルと本文を抜き出して処理をしようと思ってます。(外部ライブラリ未使用で)
|
3
|
-
今は記事
|
3
|
+
今は記事<page>~</page>間を全取得してtxtに書き込むプログラムを作りたいです。
|
4
|
-
ここからは求めた記事の開始地点のbyte(pb[0])から指定バイト(pb[1])だけ読み込んでいく予定でしたが、
|
4
|
+
ここからは求めた記事の開始地点のbyte(pb[0])から指定バイト(pb[1])分だけ読み込んでいく予定でしたが、
|
5
5
|
ファイルポインタが記事の終着点にあって読み込みがうまくいってません。
|
6
6
|
fprintfが上手いこと動くようにして欲しいです。
|
7
7
|
プログラミングはあまり得意ではないです。
|
3
一部修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
fgets(line,pb[1],fp);
|
40
40
|
//fwrite(pb, sizeof(size_t), 2, fw); // ...
|
41
41
|
//fprintf(fw, "%hhd \t %hhd \n", pb[0], pb[1]); //読み込み時の名残
|
42
|
-
fprintf(fw,"%s \n",line);
|
42
|
+
fprintf(fw,"%s \n",line);**//ここが動いてほしい**
|
43
43
|
}
|
44
44
|
}
|
45
45
|
|
2
現状に合わせてアップデート
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
今は記事からbyte数を算出するプログラムを作りました。
|
4
4
|
ここからは求めた記事の開始地点のbyte(pb[0])から指定バイト(pb[1])だけ読み込んでいく予定でしたが、
|
5
5
|
ファイルポインタが記事の終着点にあって読み込みがうまくいってません。
|
6
|
-
こ
|
6
|
+
fprintfが上手いこと動くようにして欲しいです。
|
7
7
|
プログラミングはあまり得意ではないです。
|
8
8
|
|
9
9
|
|
@@ -16,22 +16,35 @@
|
|
16
16
|
int main (){
|
17
17
|
|
18
18
|
|
19
|
+
int p;
|
19
|
-
|
20
|
+
char pb[5];
|
20
21
|
char line[BUFSIZ];
|
21
|
-
FILE *fp = fopen("
|
22
|
+
FILE *fp = fopen("jawiki-20211220-pages-articles-multistream1.xml", "r");
|
23
|
+
char title[BUFSIZ];
|
24
|
+
|
25
|
+
//FILE *gt=fopen("list_1.txt","r");
|
22
|
-
FILE *fw = fopen("get_text_
|
26
|
+
FILE *fw = fopen("get_text_c.txt", "w");
|
23
|
-
|
27
|
+
|
24
|
-
if ((NULL == fp) || (NULL == fw))
|
25
|
-
abort();
|
26
28
|
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
|
29
|
+
if ((NULL == fp)||(NULL== fw )){
|
30
|
+
abort();
|
31
|
+
}
|
32
|
+
|
27
|
-
if (strstr(line, "<page>"))
|
33
|
+
else if (strstr(line, "<page>")){
|
28
|
-
pb[0]
|
34
|
+
p=pb[0];
|
35
|
+
}
|
29
|
-
else if (strstr(line, "</page>"))
|
36
|
+
else if (strstr(line, "</page>")){
|
30
|
-
pb[1] = p - pb[0];
|
37
|
+
pb[1] = p - pb[0];
|
38
|
+
fseek(fp,-pb[1],SEEK_CUR);
|
39
|
+
fgets(line,pb[1],fp);
|
40
|
+
//fwrite(pb, sizeof(size_t), 2, fw); // ...
|
31
|
-
fprintf(fw,"%
|
41
|
+
//fprintf(fw, "%hhd \t %hhd \n", pb[0], pb[1]); //読み込み時の名残
|
32
|
-
|
42
|
+
fprintf(fw,"%s \n",line);
|
33
|
-
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
34
46
|
fclose(fw);
|
35
47
|
fclose(fp);
|
36
48
|
}
|
49
|
+
|
37
50
|
```
|
1
ファイル名修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
```get_wiki
|
11
|
+
```get_wiki2_All.c
|
12
12
|
#include <stdio.h>
|
13
13
|
#include <stdlib.h>
|
14
14
|
#include <string.h>
|