Из файла А в файл В переписать текст в обратном порядке - C (СИ)
Формулировка задачи:
Посмотрите мой код
Задача, из файла А в файл В переписать в обратном порядке
Если в А
Только вот пустые строки пропускает.
Как в файл записать пустую строку?
Задача, из файла А в файл В переписать в обратном порядке
Листинг программы
- aa
- bbb
- c
Листинг программы
- #include "stdafx.h"
- #include <stdio.h>
- void rec (FILE *, FILE *);
- int _tmain(int argc, _TCHAR* argv[])
- {
- FILE *A;
- FILE *B;
- B = fopen ("I:\\B.txt", "w");
- if ( ( A = fopen("I:\\A.txt" , "r")) != NULL)
- rec (A,B);
- else
- printf ("File A net");
- return 0;
- }
- void rec (FILE *A, FILE *B)
- {
- static int i;
- char s[10000];
- if (!feof(A))
- {
- fgets (s,10000,A);
- rec (A,B);
- }
- if (i==1)
- fputs (s,B);
- i=1;
- }
Помогите!!!
Решение задачи: «Из файла А в файл В переписать текст в обратном порядке»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct NODE {
- char * str;
- struct NODE * next;
- } node_t;
- int push(node_t ** stack, const char * str){
- node_t * n;
- if ( ! ( n = malloc(sizeof(node_t)) ) )
- return -1;
- if ( ! ( n->str = strdup(str) ) )
- return -1;
- n->next = *stack;
- *stack = n;
- return 0;
- }
- int pop(node_t ** stack, char * buf){
- node_t * n = *stack;
- if ( ! n )
- return -1;
- strcpy(buf, n->str);
- *stack = n->next;
- free(n);
- return 0;
- }
- #define IN_FILE "in.txt"
- #define OUT_FILE "out.txt"
- int main(void){
- char buf[BUFSIZ];
- node_t * stack;
- FILE * f;
- if ( ! ( f = fopen(IN_FILE, "r") ) ){
- fprintf(stderr, "Can't open file %s for input!\n", IN_FILE);
- exit(1);
- }
- stack = NULL;
- while ( fgets(buf, BUFSIZ, f) ){
- if ( push(&stack, buf) ){
- fprintf(stderr, "Memory error!\n");
- exit(1);
- }
- }
- if ( ferror(f) || fclose(f) ){
- fprintf(stderr, "Error while reading input file!\n");
- exit(1);
- }
- if ( ! ( f = fopen(OUT_FILE, "w") ) ){
- fprintf(stderr, "Can't open file %s for output!\n", OUT_FILE);
- exit(1);
- }
- while ( ! pop(&stack, buf) ){
- if ( fputs(buf, f) ){
- fprintf(stderr, "Can't write to output file!\n");
- exit(1);
- }
- }
- if ( fclose(f) ){
- fprintf(stderr, "Can't close output file!\n");
- exit(1);
- }
- exit(0);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д