Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define INPUT_FILENAME "input.txt"
- #define OUTPUT_FILENAME_1 "output1.txt"
- #define OUTPUT_FILENAME_2 "output2.txt"
- #define MAX_LINE_LEN 256 // размер буфера
- int main(){
- int res = 0;
- FILE* fd_input = NULL;
- FILE* fd_output1 = NULL;
- FILE* fd_output2 = NULL;
- char str_buff[MAX_LINE_LEN]; // буфер для строк
- // заполняем буфер нулями
- memset(str_buff, '\0', MAX_LINE_LEN * sizeof(char));
- fd_input = fopen(INPUT_FILENAME, "r");
- // если указатель на файл == NULL, то ошибка
- if(!fd_input){
- printf("Ошибка при открытии файла %s\n", INPUT_FILENAME);
- res = 1;
- goto __exit_l;
- }
- fd_output1 = fopen(OUTPUT_FILENAME_1, "w");
- if(!fd_input){
- printf("Ошибка при открытии файла %s\n", OUTPUT_FILENAME_1);
- res = 1;
- goto __exit_l;
- }
- fd_output2 = fopen(OUTPUT_FILENAME_2, "w");
- if(!fd_input){
- printf("Ошибка при открытии файла %s\n", OUTPUT_FILENAME_2);
- res = 1;
- goto __exit_l;
- }
- // читаем из файла пока можем
- while(fgets(str_buff, MAX_LINE_LEN, fd_input) != NULL){
- // получили "имя"
- char* pch = strtok(str_buff, " ");
- if(pch == NULL){
- printf("Ошибка формата данных в входном файле.\n");
- res = 1;
- goto __exit_l;
- }
- // записали "имя"
- fputs(pch, fd_output1);
- // добавили символ перехода на новую строку
- fputs("\n", fd_output1);
- // получили "дату"
- pch = strtok(NULL, " ");
- if(pch == NULL){
- printf("Ошибка формата данных в входном файле.\n");
- res = 1;
- goto __exit_l;
- }
- // записали "дату"
- fputs(pch, fd_output2);
- // почистили буфер
- memset(str_buff, '\0', MAX_LINE_LEN * sizeof(char));
- }
- __exit_l:
- // закрыли все файлы
- if(fd_input)
- fclose(fd_input);
- if(fd_output1)
- fclose(fd_output1);
- if(fd_output2)
- fclose(fd_output2);
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement