TXT文档的输出问题
写的代码最后需要输出到txt文档,但是txt文档不能识别一些特殊字符。前面的都是可以的,在电脑上调试的时候,在cmd下是可以显示的,但是一旦输出到txt文档就不能识别,该怎么改,求大神
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include<iostream>
using namespace std;
int main()
{
float number;
float n[10000];
int N[10000];
int N_2[100];
int N_3[100];
int N_4[100];
int len_N_2;
int len_N_3;
int cnt = 0;
char s[1000];
int srd_1[300];
int srd_2[300];
for(int i = 0;i < 256;i++)
{
srd_1[i]=255-i;
srd_2[i]=(i+128)%256;
}
FILE *fp1,*fp2;
fp2 = fopen("out.txt", "w+");
if(NULL == (fp1 = fopen("in.txt", "r")))
{
printf("error\n");
exit(1);
}
while(fscanf(fp1," %s %f",s,&number)!=EOF)N[cnt++]=(int)(number*200);
int sum =0;
int ct = 0 ;
while (sum+9 <= cnt)
{
for(int i=0;i < 8;i++)
{
N_2[i]=N[sum+i+1]-N[sum+i];
}
int num = 0;
for(int i = 0;i < 8; i++)
{
if(N_2[i] < 0)
{
N_2[i]=-N_2[i];
num=(num+1)*2;
}
else num*=2;
}
num/=2;
int count = 0;
for(int i=0;i < 8;i+=2)
{
if(N_2[i]<10&&N_2[i+1]<10||(N_2[i]==0&&N_2[i]<100))
{
N_3[count++] =N_2[i]*10 + N_2[i+1];
}
else
{
N_3[count++] = N_2[i]+100;
N_3[count++] = N_2[i+1]+100;
}
}
for(int i=0;i<count;i++)
N_4[i] = srd_1[N_3[i]];
int num_1 = srd_2[num];
for(int i=0;i<count;i++)
{
fprintf(fp2,"%c ",N_4[i]+'\0');
//printf("%c ",N_4[i]+'\0');
}
fprintf(fp2,"\n");
//printf("\n");
fprintf(fp2,"%c\n",num_1+'\0');
//printf("%c\n",num_1+'\0');
sum+=9;
ct++;
}
printf("%d\n",ct);
return 0;
}