Как ведут себя функции ввода вывода при работе с файлами - C (СИ)
Формулировка задачи:
Здравствуйте!!!
прошу подсказки в отладке данного кода.
цель его посмотреть наглядно как ведут себя функции ввода вывода при работе с файлами...
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#pragma warning (disable:4996)
int main()
{
FILE *file;
char str[25];
char str1[25];
if ((file = fopen("D:/testfile.txt", "w")) == NULL)
puts("Error opening file");
else
{
puts("*************************");
scanf("%s",str);
fprintf(file,"%s",str);
fscanf(file,"%s",str1);
printf("%s\n",str1);
puts("*************************");
gets(str);
fputs(str,file);
fgets(str, 25, file);
puts(str1);
puts("*************************");
}
getch();
}Решение задачи: «Как ведут себя функции ввода вывода при работе с файлами»
textual
Листинг программы
if ((file = fopen("D:/testfile.txt", "w+")) == NULL)
puts("Error opening file");
else
{
puts("*************************");
scanf("%s",str);
printf("---%s\n",str);
fprintf(file,"%s",str);
//freopen("testfile.txt","r+",file);
//fclose(file);
//file = fopen("D:/testfile.txt", "r");
printf("---%s\n", str1);
fscanf(file, "%s", str1);
printf("***%s", str1);
Объяснение кода листинга программы
file = fopen(D:/testfile.txt,w+)- открывает файлD:/testfile.txtдля чтения и записи, при этом очищает его содержимое. Если файл не может быть открыт, то выводится сообщение об ошибке.scanf(%s,str)- считывает строку из стандартного ввода и сохраняет ее в переменнойstr.printf(---%s\n,str)- выводит на экран строку из переменнойstr.fprintf(file,%s,str)- записывает строку из переменнойstrв файл.freopen(testfile.txt,r+,file)- пере открывает файлtestfile.txtдля чтения и записи.fclose(file)- закрывает файл.file = fopen(D:/testfile.txt,r)- открывает файлD:/testfile.txtтолько для чтения.fscanf(file,%s, str1)- считывает строку из файла и сохраняет ее в переменнойstr1.printf(***%s, str1)- выводит на экран строку из переменнойstr1.