?? 2 提取-08-標題.cpp
字號:
//對文件做預處理
//1.從mr.txt讀入
//2.mr1.txt作為讀出
//預處理解決問題:19980101-01-001-001/m 子串會被刪除
#include <stdio.h>
void main()
{// char *i;
FILE *fp;FILE *fpw;
fp=fopen("199801.txt","r");//讀入文件
fpw=fopen("dic_try1.txt","w");//寫入文件
int flag=0;//字符狀態標志 1:處理1998類問題,0:不是
if (fp==NULL)
{ printf("cannot open thi file\n");}
if (fpw==NULL)
{ printf("cannot open thi file\n");}
// int status=0;//0 處理排版信息 1 處理詞
int pb_p=0;
int print=0;
// int print_wz=0;
// int print_pz=0;
int i=1;
unsigned int temp[20];//篇章信息 19位
while(!feof(fp))
{
unsigned int c1 =fgetc(fp);//printf("%x\n",c1);
if(c1==-1){continue;}//處理文件結尾符作為字符顯示的問題
//處理回車,同時說明了 篇章信息和文章內容的結束
if(c1==10){
if(print==1){ fputc(c1,fpw);
print=0;}
pb_p=0;
continue;
}
if(c1==32 && flag==1){flag=0;}//如果是1998后面的空格;
//處理空格
if(c1==32){
if(print==1)fputc(c1,fpw);
continue;
}
//ascii碼(1 篇章信息 2 標注信息)
if(c1<161){
//修改 打印標題 標志位
// if (pb_p==15){temp=c1;print=1;}
if (c1>=48 && c1<=57 || c1==45) //是篇章信息printf("get 1");if(pb_p==0)
{// fputc(c1,fpw);
pb_p=(pb_p++)%19;
if(c1!=temp[15] && pb_p==15 ){print=1;}//printf("%d,%c\n",pb_p,c1);
temp[pb_p]=c1; //printf("%d,%c\n",pb_p,temp[pb_p]);
// if(pb_p==0 && print==1)fputc(temp[i],fpw);
if(temp[11]=='8' && temp[10]=='0'){}
else{print=0;}
if(pb_p==19 && print==1){
for( i=1;i<20;i++)
fputc(temp[i],fpw);
//printf("%d,%c\n",i,temp[i]);
} /**/
}
else{//標注信息
}
}
//處理GBK碼 (文章內容)
else{
if(print==1)fputc(c1,fpw);
unsigned int c2 =fgetc(fp);
if(print==1)fputc(c2,fpw);
}
}
fclose(fpw);
fclose(fp);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -