Не выводит в файл.Не понимаю в чём проблема
Код:
#include <stdio.h>
#include "stdafx.h"
int main(void) {
FILE* fin = fopen("D:\таня\прога 2 сем\in.txt", "rb");
if(fin == NULL)
return 1;
char fnm[] = "D:\таня\прога 2 сем\out.txt";
FILE* fout = fopen(fnm, "wb");
int n;
long f, l;
while(! feof(fin)) {
n = 0;
fscanf(fin, "%*[^{]%*c%n", &n);
if(feof(fin))
break;
if(! n) {
if(fgetc(fin) != '{')
continue;
}
f = ftell(fin);
fscanf(fin, "%*[^}]");
if(feof(fin))
break;
l = ftell(fin);
fseek(fin, f, SEEK_SET);
for(long i = l - f; i > 0L; --i)
fputc(fgetc(fin), fout);
fputc('n', fout);
}
fclose(fin);
if(! ftell(fout)) {
fclose(fout);
_unlink(fnm);
} else {
fflush(fout);
fclose(fout);
}
return 0;
}
#include "stdafx.h"
int main(void) {
FILE* fin = fopen("D:\таня\прога 2 сем\in.txt", "rb");
if(fin == NULL)
return 1;
char fnm[] = "D:\таня\прога 2 сем\out.txt";
FILE* fout = fopen(fnm, "wb");
int n;
long f, l;
while(! feof(fin)) {
n = 0;
fscanf(fin, "%*[^{]%*c%n", &n);
if(feof(fin))
break;
if(! n) {
if(fgetc(fin) != '{')
continue;
}
f = ftell(fin);
fscanf(fin, "%*[^}]");
if(feof(fin))
break;
l = ftell(fin);
fseek(fin, f, SEEK_SET);
for(long i = l - f; i > 0L; --i)
fputc(fgetc(fin), fout);
fputc('n', fout);
}
fclose(fin);
if(! ftell(fout)) {
fclose(fout);
_unlink(fnm);
} else {
fflush(fout);
fclose(fout);
}
return 0;
}
и если файл текстовый, то вместо "b" принято использовать "t" при открытии файла