#include
#include
#define _CRT_SECURE_NO_WARNINGS 1
int main()
{
FILE* fp1;
FILE* fp2;
FILE* fp3;
char* p2 = NULL;
char Namebuf[31];
char Temp[31];
char buff[1001];
int i = 0;
int j = 0;
fp1=fopen("D:\C\找特定基因表达量\genelist.txt","r+");
if(!fp1)
{
printf("errror!n");
}
fp2=fopen("D:\C\找特定基因表达量\ROB TPM.txt","r+");
if(!fp2)
{
printf("errror!n");
}
fp3=fopen("D:\C\找特定基因表达量\output.txt","w+");
if(!fp3)
{
printf("errror!n");
}
fgets(buff,1000,fp2);//给输出文件添加表头
fprintf(fp3,"%s",buff);//给输出文件添加表头
rewind(fp2);//给输出文件添加表头
while(fgets(Namebuf,30,fp1)!=NULL)//逐行读取文件
{
while(fgets(buff,1000,fp2)!=NULL)//逐行读取文件
{
//printf("%s",buff);
sscanf(buff,"%*[^t]t%s",Temp);
//printf("%sn",Temp);
i = strlen(Namebuf);
//printf("%dn",i);
j = strlen(Temp);
if (i==j)//先比较字符串长度
{
if (strnicmp(Temp, Namebuf,i-1) == 0)//再比较字符串内容
{
fprintf(fp3,"%s",buff);
printf("%s",buff);
}
}
}
rewind(fp2);//将表达矩阵文件内部位置指针重新定位到文件开头,准备下一个基因的寻找
}
fclose (fp1);
fclose (fp2);
fclose (fp3);
return 0;
}
//用R的话只需用到match函数就可以实现。。



