essa questão pede para lermos varias strings de um arquivo separadas por /n, inverter e jogar em outro arquivo e usando aritmetica de ponteiros para manipulação dos vetores, porém não consigo achar a logica para invertar varias strings dentro de um arquivo. Meu codigo roda apenas invertendo uma linha de um arq. Segue ele abaixo
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void verifica (char txt[200], char aux[200], int b, char txt_orig[200]);
void criptografar(char txt[200],int b);
int main(){
char txt[200],aux[200], txt_orig[200];
int a,b;
FILE *arqp, *arqp2;
arqp = fopen("arqp.txt","r");
if (arqp==NULL){
printf("Deu erro");
system("pause");
exit(1);
}
arqp2 = fopen("arqp2.txt", "w+");
printf("String original: ");
while(!feof(arqp)){
fgets(txt,200,arqp);
b=strlen(txt);
puts(txt);
strcpy(txt_orig, txt);
criptografar(txt,b);
//fputs(arqp2,txt);
}
char* txt_novo = txt + 1;
printf("\nString criptografada: %s", txt_novo);
verifica(txt,aux,b,txt_orig);
fclose(arqp);
fclose(arqp2);
}
void criptografar(char txt[200],int b){
char txaux;
int i;
for(i=0;i<b;i++){
txaux=txt[i];
txt[i]=txt[b];
txt[b]=txaux;
b--;
}
}
void verifica (char txt[200], char aux[200], int b, char txt_orig[200]){
int i;
printf("\nString verificada: ");
for(i=0;i<=b;i++){
aux[i]=txt[i];
txt[i]=txt[b];
txt[b]=aux[i];
b--;
}
printf("%s",txt);
if (strcmp(txt_orig, txt) == 0)
printf("\nAs frases estão iguais\n");
else
printf("\nAs frases estão diferentes\n");
}>