Открытие файлов с именем, составленным из переменных - C (СИ)
Формулировка задачи:
вводится диапазон дат, который начинает открывать файлы типа "в итоге
t_130917_01.dat
", а затем накручивает переменные счетчиком нужно открывать файл, имя которого составляется из несколькихint
итекста
попробывал сделать так:#include <stdio.h> #include <conio.h> #include <string.h> int main(void) { char ch,*name; int god1,mes1,den1,chas1,god2,mes2,den2,chas2; FILE *ipf, *stf; scanf("%d%d%d%d",&god1,&mes1,&den1,&chas1); *name=('t','_',god1,mes1,den1,'_',chas1); gets(name); stf=fopen(name,"r"); ipf=fopen("stat.txt","w"); if( (stf == 0 || ipf==0) ) { printf("error"); return 1; } fclose(ipf); fclose(stf); return 0; getch(); }
stat.txt
создаётся, но при этом выводитсяerror
- т.е. файл "t_<...>.dat" не открываетсяРешение задачи: «Открытие файлов с именем, составленным из переменных»
textual
Листинг программы
*name=('t','_',god1,mes1,den1,'_',chas1);
Объяснение кода листинга программы
- Объявляется переменная
name
типа строка (char*) и инициализируется строкой, составленной из символов 't', '', god1, mes1, den1, '', chas1. - Файл с именем, соответствующим значению переменной
name
, открывается в режиме чтения. - В цикле, пока не достигнут конец файла, считывается содержимое файла и выводится на экран.
- Файл закрывается.