Fprintf отказывается выводить текст больше чем один раз из цикла - C (СИ)
Формулировка задачи:
Здравствуйте , столкнулся с проблемой в задаче с вводом в текстовый документ информации.
Проблема в том, что программа вылетает, но, если мы используем вывод конечных данных только один раз, а не два(case 0, case1) то никаких проблем нет. Методом printf до, printf после, я вычислил что даже когда код не доходит до второго вывода в файл, программа все равно вылетает, само использование fprintf 2 раза и есть причиной вылета, помогите пожалуйста.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int m[6]; FILE * file1; file1 = fopen("d://de//file1.txt", "wt"); if( (file1=fopen("d://de//file1.txt","wt")) == 0 ) printf("error!"); fprintf(file1, "Name Monday Tuesday Wednesday Thurstday Friday All Best Count\n"); char CName; for (int i = 0; i < 2; i++) { switch (i) { case 0: { CName = "Ivanov"; for (int j= 0; j<4; j++) { m[j] = rand()%100; m[5] +=m[j]; if (j >= 1) { if (m[j] > m[j-1]) m[6] = m[j]; } } break; //case0 } case 1: { CName = "Sidorov"; for (int j= 0; j<4; j++) { m[j] = rand()%100; m[5] +=m[j]; if (j >= 1) { if (m[j] > m[j-1]) m[6] = m[j]; } } break; //case0 } } printf("complated"); fprintf(file1, "%s %i %i %i %i %i %i %i\n", CName, m[0], m[1], m[2], m[3], m[4], m[5], m[6]); } return 0; }
Отмена. Решил.
Решение задачи: «Fprintf отказывается выводить текст больше чем один раз из цикла»
textual
Листинг программы
file = fopen(argv[1], "wt"); if (file == NULL) { fprintf(stderr, "can't open file: %s\n", argv[1]); return 1;
Объяснение кода листинга программы
file = fopen(argv[1],
wt);
- открывает файл для записи- Если файл не открылся, то выполняется блок кода:
fprintf(stderr,
can't open file: %s\n, argv[1]);
- выводит сообщение об ошибке в файл stderrreturn 1;
- завершает работу программы с кодом ошибки 1 В данном коде используется функцияfprintf
, которая записывает строку в файл. Однако, в данном случае, она выводит сообщение об ошибке в файл stderr, а не в открытый файл.