Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/341: Рейтинг темы: голосов - 341, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 26

Чтение из файла, редактирование его и запись в новый файл

27.03.2010, 22:11. Показов 68833. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, задача такая: Программе на вход подается исходный текст какой-нибудь программы на С..
Нужно удалить из него все комментарии. Впервые мне дали задание, где нужно применять работу с файлами, подскажите, пожалуйста - как открыть файл? И как с ним работать? обычный текст.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2010, 22:11
Ответы с готовыми решениями:

Запись в бинарный файл, его чтение и редактирование
Здравствуйте, возникла проблема с записью данных в бинарный файл. Есть некая структура, по которой читается файл, эти данные выводятся в...

Чтение из файла, запись изменений в новый файл и печать
Пытаюсь распечатать измененный файл, но получаю исключение Я так понимаю, что на момент открытия файла он еще не существует, как...

Чтение значений из файла, обработка и запись в новый файл
Program yravnenie(input,output); Var x,a:longint; Begin Assign(input,'input.txt'); Reset(input); ...

25
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
09.12.2018, 13:55
Студворк — интернет-сервис помощи студентам
Извиняйте пожалуйста!

Подскажите, что за фигня

Я что даже две строки элементарного кода не то чтобы написать, а даже тупо скопировать не могу ?

#include <stdio.h> // подключаем библиотеку
#include <conio.h> // подключаем библиотеку
#include <stdlib.h> // подключаем библиотеку
main(void)
{
FILE *filek; // Объявление указателя для файла

filek = fopen_s("C:/C_exp/Text_doc/Textoviy.txt", "r");
}
И мне visual studio выдают сразу букет ошибок в строке с fopen_s:

Ошибка (активно) E0165 слишком мало аргументов в вызове функции Hello C:\Users\Optimus-1\source\repos\Project7\Hello\Hello.c 11
Предупреждение C4047 функция: "FILE **" отличается по уровням косвенного обращения от "char [31]" Hello c:\users\Optimus-1\source\repos\project7\hello\hello.c 11
Предупреждение C4024 fopen_s: различные типы для формального и фактического параметров 1 Hello c:\users\Optimus-1\source\repos\project7\hello\hello.c 11
Ошибка C2198 fopen_s: слишком мало аргументов для вызова Hello c:\users\Optimus-1\source\repos\project7\hello\hello.c 11
Предупреждение C4047 =: "FILE *" отличается по уровням косвенного обращения от "errno_t" Hello c:\users\Optimus-1\source\repos\project7\hello\hello.c 11
Что не так ?
0
 Аватар для Arthur80321
5 / 3 / 3
Регистрация: 06.10.2018
Сообщений: 59
09.12.2018, 14:01
У тебя путь к файлу через "/", а не "\".

----->> G:\\c++\\****
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
09.12.2018, 14:13
Пробывал и "\" и "" и "/" - одна и та же ошибка.
Только что понял, что похоже дело в fopen и fopen_s.
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
09.12.2018, 18:38
А вот такой вопрос:

#include <stdio.h> // подключаем библиотеку
#include <conio.h> // подключаем библиотеку
#include <stdlib.h> // подключаем библиотеку

main()
{
FILE *filek; // Обьявление указателя для файла

filek = fopen("C:\\C_exp\\Text_doc\\Textoviy1.tx t", "r"); // Textoviy1.txt - такого файла нет

//fclose(filek);

printf("%c\n", filek); // Так как Textoviy1.txt - файла нет, то значение filek то должен равняться NULL

_getch();

}
Хочу просто убедиться, что указателю на файл присваивается NULL, если файла на который он указывает не существует, незатейливый код выше, но возникает ошибка (во вложении)
Миниатюры
Чтение из файла, редактирование его и запись в новый файл  
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
09.12.2018, 20:51
В предыдущем сообщении ошибка, все работает, я ошибся в выводе типа данных - printf("%c\n", filek), надо было printf("%s\n", filek).

Строго не судите, но подскажите пожалуйста по такому вопросу, ни как не могу сообразить:

Если я правильно понял, то:

1)Конструкция FILE *"имя переменной" - это объявление переменной в виде того, что она будет указателем, на одномерный массив символов считанных из файла.
2)Соответственно само присвоение этой переменной значение через функцию fopen - это и есть сам указатель на этот массив.
3)Соответственно, если в функции getc указать название этого указателя на массив, то функция getc возвращает первый элемент этого массива в виде одного символа.

И вот в связи с этим два вопроса:
1)Подскажите, как получить из функции getc и второй элемент массива и третий и вообще все ? Я гуглиг, перегуглил, были примеры, но я так я не понял, как заставить getc возвратить n-ый элемент массива, а не только первый.
2)И можно ли как то определить размер этого массива(именно по кол-во элементов, а не то сколько он занимает место в памяти), который расположен по указателю fopen ?
0
 Аватар для Arthur80321
5 / 3 / 3
Регистрация: 06.10.2018
Сообщений: 59
11.12.2018, 22:30
1 Переменные string в основе имеют массив, для выделения отдельных букв можно обращаться к номеру символа.

2 http://cppstudio.com/post/664/
C
1
2
size_t strlen( const char * string );
//Длина строки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2018, 22:30

Чтение из файла, фильтр данных и запись в новый файл
Исходный файл состоит из строк, в каждой из которых записаны данные о книге в следующем порядке: • Название книги • Фамилия И.О. автора...

Чтение файла, замена слов и запись результата в новый файл
Помогите написать конвертер текста Например, у меня есть файл с определенным текстом. Мне нужно что бы программа скопировала все в в...

Чтение массива из файла, его преобразование и запись в другой файл
Всем привет. Есть вот такой код: #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

Чтение, редактирование и запись в .doc файл
у меня совсем небольшой опыт программирования, поэтому прошу помощи... нужно открыть .doc файл, прочитать его, заменить несколько символов...

Чтение текстового файла. Парсинг его данных. Создание исключений для данных. Запись свойств объектов в файл
Проблема такая. Есть файл data.txt. В нем например какие-то данные. Landon Donovan, 150, A Hulk Hogan , 100, M Duke Nukem, 50,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru