#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
FILE *pdb;
pdb=fopen("5an3.pdb", "r");
if(feof(pdb))
{
fprintf(stderr,"File reading error!!! Probably your PDB file doesn't contain anything or poorly formatted\n");
return 0;
}
char test[255];
while(!feof(pdb))
{
fgets(test, 255, (FILE*)pdb);
char check[10];
strncpy(check,test,4);
if(strcmp(check,"ATOM")==0)
{
char resname[3];
strncpy(resname,&test[17],3);
if((strstr(resname,"THR"))||(strstr(resname,"TYR"))||(strstr(resname,"PHE"))||(strstr(resname,"TRP")))
{
printf("%s\n",test);
}
else
{
printf("No Aromatic Residues Found!!! Better luck next time!!!\n");
return 0;
}
}
}
fclose(pdb);
return 0;
}
我试图检索具有 THR、PHE、TYR、TRP 及其原子坐标的记录以进行进一步处理。但是,pdb 文件中似乎有很多不可见的 ascii 字符,这些字符搞砸了一切。如何摆脱这个?