📄 connect.cpp
字号:
#include<iostream>
#include<stdlib.h>
#include<string.h>
#include"init.h"
#include"compare.h"
#include"connect.h"
using namespace std;
char s[maxn*maxn][maxn*5];
char newstr[maxn*5];
int head(char *str,int n)
{
int i;
char temp[10];
for(i=0;i<8;i++)
temp[i]=str[i];
temp[i]='\0';
return getid(temp,n);
}
int tail(char *str,int n)
{
int i,k,len;
char temp[10];
len=strlen(str);
for(i=len-8,k=0;i<len;i++)
temp[k++]=str[i];
temp[k]='\0';
return getid(temp,n);
}
void connect(int n)
{
FILE *fp1,*fpi,*fpj;
int i,j,m;
char filename[maxn][15];
char temp[15];
for(i=0;i<n;i++)
{
filename[i][0]=i+'0';
filename[i][1]='\0';
strcat(filename[i],".txt");
}
char str[maxn*10];
bool flaghead,flagtail;
fp1=fopen(filename[0],"r");
i=0;
while(!feof(fp1))
{
fscanf(fp1,"%s",s[i]);
i++;
}
m=i-1;
fclose(fp1);
for(i=1;i<n-1;i++)
{
fpi=fopen(filename[i-1],"r");
fpj=fopen(filename[i],"w");
while(!feof(fpi))
{
fscanf(fpi,"%s",str);
if(feof(fpi))break;
flaghead=flagtail=false;
if(head(str,n)==i)
flaghead=true;
if(tail(str,n)==i)
flagtail=true;
for(j=0;j<m;j++)
{
int k;
if(head(s[j],n)==i&&flagtail)
{
for(k=0;k<8;k++)
temp[k]=s[j][k+8];
temp[k]='\0';
strcpy(newstr,str);
strcat(newstr,temp);
fprintf(fpj,"%s\n",newstr);
}
if(tail(s[j],n)==i&&flaghead)
{
for(k=0;k<8;k++)
temp[k]=s[j][k];
temp[k]='\0';
strcpy(newstr,temp);
strcat(newstr,str);
fprintf(fpj,"%s\n",newstr);
}
}
}
fclose(fpi);
fclose(fpj);
}
return ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -