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;
}

Объяснение кода листинга программы

  1. Объединение файлов stdio.h и string.h в начале блока кода.
  2. Определение функции main как точки входа в программу.
  3. Создание буфера с текстом Показать код. Показать текст ошибки. Ждать, гуглить. и присвоение его переменной buff.
  4. Создание массива match с текстом Ждать.
  5. Создание массива insert с текстом Не ждать,.
  6. Создание массива delim с текстом .
  7. Объявление переменной word типа указатель на char и инициализация ее значением buff.
  8. Объявление переменной f типа FILE* и инициализация ее значением fopen(text.txt, w).
  9. Проверка значения переменной f на NULL с помощью оператора if. Если f равно NULL, то выводится сообщение об ошибке ERROR и программа завершается с кодом 1.
  10. Создание цикла for, который будет выполняться до тех пор, пока переменная word не станет равной NULL.
  11. Внутри цикла проверка наличия подстроки match в слове word с помощью функции strstr.
  12. Если подстрока найдена, то к файлу f добавляется текст из массива insert с помощью функции fprintf.
  13. Если подстрока не найдена, то на экран выводится слово word с помощью функции printf.
  14. После цикла for переменная word обновляется значением NULL.
  15. Закрытие файла f с помощью функции fclose.
  16. Завершение программы с кодом 0.
  17. В данном коде используется стандартный ввод/вывод, поэтому его можно запустить только в консоли.
  18. В данном коде используется функция fopen для открытия файла text.txt в режиме записи w.
  19. Если файл не удалось открыть, то программа выведет сообщение об ошибке ERROR и завершится с кодом 1.
  20. В данном коде используется цикл for для обработки каждого слова в буфере buff.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.429 из 5