Форум программистов, компьютерный форум, киберфорум
Fortran
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 21.05.2017
Сообщений: 24
1

Можно ли в цикле как то имена файлов менять в операторе open?

21.05.2017, 00:49. Просмотров 1726. Ответов 3
Метки нет (Все метки)

Значит.Нужно по очереди открыть много текстовых файлов и скопировать оттуда нужные строчки в другой
файлик. Я могу сделать это указав в программе имена всех этих файлов по очереди - каждый раз
open (1,file="1m.txt") и close (1) и внутри там что то делать. Имена файлов у меня отличаются цифрой в имени:
1m.txt 2m.txt 3m.txt ... Нельзя ли как то в цикле чтобы это происходило? Типо

Fortran
1
2
3
4
5
   do i=1,n
       open (1,file=<i>m.txt)  !- знаете, как в спецификаторах как то делают что вместо 12f7.2 (12 столбцов 
                                      !  массива) пишут <x>f7.2 (x в теле программы как то считается) нельзя ли как то 
       close (1)                   ! что то похожее сделать, чтобы каждый раз не писать для каждого файла имя
   enddo                           ! CVF
спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2017, 00:49
Ответы с готовыми решениями:

MS Index Server Можно ли индексировать только имена файлов?
Есть большой каталог программ на сервере под Linux, посему одной светлой голове пришло в голову, а...

Как менять синус на косинус и наоборот в цикле
Как менять синус на косинус и наоборот в цикле

Как можно прервать выполнение в условном операторе?
Как можно прервать выполнение в условном операторе: if ... then ... else 'прервать' end if...

Как менять свойства сразу нескольких объектов в цикле?
Суть в том, что у меня много numericUpDown и один CheckBox. При установки значения...

3
125 / 112 / 56
Регистрация: 05.12.2012
Сообщений: 463
21.05.2017, 20:13 2
Лучший ответ Сообщение было отмечено daviddavtyann как решение

Решение

Ну создайте текстовый массив имен, потом в цикле
Fortran
1
2
3
4
5
do i = 1000, 1050
    open (i, file=myFilenameArray(i))
 
    close(i)
end do
2
590 / 2338 / 236
Регистрация: 11.08.2016
Сообщений: 2,118
21.05.2017, 20:13 3
Лучший ответ Сообщение было отмечено daviddavtyann как решение

Решение

Заведи строковую переменную (character*100, например) загоняй туда числа и остальное(например write(fname,'(I2,'m.txt')')) и пиши open(1,file=fname).
2
0 / 0 / 1
Регистрация: 21.05.2017
Сообщений: 24
21.05.2017, 22:21  [ТС] 4
Хех. Об этом что-то я не подумал. Спасибо! Попробую...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2017, 22:21

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

не могу понять как присваивать имена к чекбоксам в цикле
помогите вот есть функция function zapoln() { for(n=0;n&lt;Mnik.length;n++) { chek='';...

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

Как менять атрибуты файлов
Как сделать файл скрытым (для Windows) средствами Qt? Или какими средствами сделать файл скрытым...

Как сравнивать имена файлов?
Никак не могу понять как сравнивать имена файлов. Вот само задание: &quot;В каталогах, имена которых...

Как считать имена файлов?
Как вывести на экран имена файлов, находящихся в папке, ну например (Windows). И еще, как...

Менять местами имена в зависимости от зарплаты
Есть имена 3-х работников и их часы работы. В зависимости от времени работы рассчитать ЗП и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.