【c言語】ファイルの読み込みエラーについて
自然言語処理について勉強しています。
Wikipediaのdumpデータからタイトルと本文を抜き出して処理をしようと思ってます。
xmlの処理について試しているのですが、エラーに見舞われて困っています。
プログラミングはあまり得意ではないです。
以下にソースコードとエラー部分を貼り付けます。
ご助力お願いします。
============================
#include <stdlib.h>
#include <string.h>
int main (){
size_t p;
char pb[5];
char line[BUFSIZ];
FILE *fp = fopen("//Wikipediaの分割ファイル//.xml", "r");//xmlファイルのアドレス
char title[BUFSIZ];
//FILE *gt=fopen("list_1.txt","r");
FILE *fw = fopen("get_text_c.txt", "w");
if ((NULL == fp)||(NULL== fw )){
printf("aboooooooooooooooooooooooooooot")
abort();//終了、ここがうまくいってない?
}
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
if (strstr(line, "<title>")){
pb[0] = p;//タイトルの始点
}
else if (strstr(line, "</title>")){
pb[3]=p;//タイトルの終点
pb[2]=p-pb[0];//タイトルのバイト数
fprintf(fw, "%zu \t %zu \n", pb[2], pb[3]); //pb2とpb3の観察。
fgets(line,pb2[2],pb[0]);//タイトルを取得
printf("%s",line);//表示
fprintf(fw,"%s",line);//書き込み
}
else if (strstr(line, "</page>")) {
pb[1] = p - pb[0];
//fwrite(pb, sizeof(size_t), 2, fw); // ...
fprintf(fw, "%zu \t %zu \n", pb[0], pb[1]); //... テキスト形式で観察可能
}
}
}
fclose(fw);
fclose(fp);
}
エラー(ファイル名は get_うぃき.c としてます。)
===========================
get_うぃき.c:10:16: warning: declaration of built-in function 'fopen' requires inclusion of the header <stdio.h> [-Wbuiltin-requires-header]
get_うぃき.c:11:16: error: use of undeclared identifier 'BUFSIZ'
char title[BUFSIZ];
^
get_うぃき.c:14:5: error: use of undeclared identifier 'FILE'
FILE *fw = fopen("get_text_c.txt", "w");
^
get_うぃき.c:14:11: error: use of undeclared identifier 'fw'
FILE *fw = fopen("get_text_c.txt", "w");
^
get_うぃき.c:15:18: error: use of undeclared identifier 'fp'
if ((NULL == fp)||(NULL== fw )){
^
get_うぃき.c:15:31: error: use of undeclared identifier 'fw'
if ((NULL == fp)||(NULL== fw )){
^
get_うぃき.c:16:13: warning: treating Unicode character <U+FF08> as identifier character rather than as '(' symbol [-Wunicode-homoglyph]
printf("aboooooooooooooooooooooooooooot")
^~
get_うぃき.c:16:7: error: use of undeclared identifier 'printf('
printf("aboooooooooooooooooooooooooooot")
^
get_うぃき.c:16:49: warning: treating Unicode character <U+FF09> as identifier character rather than as ')' symbol [-Wunicode-homoglyph]
printf("aboooooooooooooooooooooooooooot")
^~
get_うぃき.c:20:16: error: implicit declaration of function 'ftell' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
^
get_うぃき.c:20:27: error: implicit declaration of function 'fgets' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
^
get_うぃき.c:20:39: error: use of undeclared identifier 'BUFSIZ'
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
^
get_うぃき.c:20:47: error: use of undeclared identifier 'fp'
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
^
get_うぃき.c:20:12: error: use of undeclared identifier 'p'
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
^
get_うぃき.c:20:22: error: use of undeclared identifier 'fp'
while (p = ftell(fp), fgets(line, BUFSIZ, fp)) {
^
get_うぃき.c:22:15: error: use of undeclared identifier 'p'
pb[0] = p;//タイトルの始点
^
get_うぃき.c:25:7: warning: treating Unicode character as whitespace [-Wunicode-whitespace]
pb[3]=p;//タイトルの終点
^~
get_うぃき.c:26:6: warning: treating Unicode character as whitespace [-Wunicode-whitespace]
pb[2]=p-pb[0];//タイトルのバイト数
^~
get_tokuhisa.c:25:16: error
お礼
ご指摘ありがとうございます。 修正したところできました。 ありがとうございます。