Fopen не работает в VS 2013 - C (СИ)
Формулировка задачи:
ребята, написал код в visual studio 2013, но она не хочет компилировать и выдаёт ошибку с fopen. что делать?
Решение задачи: «Fopen не работает в VS 2013»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main(void) { int i; char buff[] = "Показать код. Показать текст ошибки. Ждать, гуглить."; char match[] = "Ждать"; char insert[] = "Не ждать, "; char delim[] = " "; char *word; FILE *f; f = fopen("text.txt", "w"); if(!f) puts("ERROR"), exit(1); word = strtok(buff, delim); for(i = 0; word != '\0'; i++) { if(strstr(word, match)) { fprintf(f, "%s", insert); } else { printf("%s ", word); } word = strtok(NULL, delim); } fclose(f); return 0; }
Объяснение кода листинга программы
- Объединение файлов
stdio.h
иstring.h
в начале блока кода. - Определение функции main как точки входа в программу.
- Создание буфера с текстом
Показать код. Показать текст ошибки. Ждать, гуглить.
и присвоение его переменной buff. - Создание массива match с текстом
Ждать
. - Создание массива insert с текстом
Не ждать,
. - Создание массива delim с текстом
- Объявление переменной word типа указатель на char и инициализация ее значением buff.
- Объявление переменной f типа FILE* и инициализация ее значением fopen(
text.txt
,w
). - Проверка значения переменной f на NULL с помощью оператора if. Если f равно NULL, то выводится сообщение об ошибке
ERROR
и программа завершается с кодом 1. - Создание цикла for, который будет выполняться до тех пор, пока переменная word не станет равной NULL.
- Внутри цикла проверка наличия подстроки match в слове word с помощью функции strstr.
- Если подстрока найдена, то к файлу f добавляется текст из массива insert с помощью функции fprintf.
- Если подстрока не найдена, то на экран выводится слово word с помощью функции printf.
- После цикла for переменная word обновляется значением NULL.
- Закрытие файла f с помощью функции fclose.
- Завершение программы с кодом 0.
- В данном коде используется стандартный ввод/вывод, поэтому его можно запустить только в консоли.
- В данном коде используется функция fopen для открытия файла
text.txt
в режиме записиw
. - Если файл не удалось открыть, то программа выведет сообщение об ошибке
ERROR
и завершится с кодом 1. - В данном коде используется цикл for для обработки каждого слова в буфере buff.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д