Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > fprintf не принимает \n


Автор: n199a 26.1.2014, 15:04
fprintf записывает в файл числа, но почему-то не каждое на новой строке. Почему?
Код

#include <stdio.h>

const int N = 11;

int main(void) {
    int bin1[N], bin2[N];
    FILE *fp;   //указатель на файл
    /*----------lab7_bin1----------*/
    fp = fopen("lab7_bin1.bin", "rb");  //открыть файл на чтение
    if (fp == NULL) {                  //обработка ошибки
           printf("Файл не найден");
           return 1;                   //выход по ошибке, код ошибки 1.
           }

    for (int i = 0; i < N;  i++)
    if (0 == fscanf (fp, "%d", &bin1[i])) {       //чтение и обработка
          printf("Не хватает данных в фале");  //ошибки
          break;
          }
    fclose(fp);     
    /*----------lab7_bin2----------*/    
        fp = fopen("lab7_bin2.bin", "rb");  
    if (fp == NULL) {                  
           printf("Файл не найден");
           return 1;                   
           }

    for (int i = 0; i < N;  i++)
    if (0 == fscanf (fp, "%d", &bin2[i])) {      
          printf("Не хватает данных в фале");
          break;
          }
    fclose(fp);
    /*----------умножение----------*/            
    for (int i = 0; i < N; i++)
    bin1[i] *= bin2[i];
    /*----------lab7_output----------*/
    fp = fopen("lab7_output.bin", "wb");
    for (int i = 0; i < N; i++)
        fprintf(fp, "[%d]\n", bin1[i]);
    fclose(fp);

}



Ещё заметил, что в cmd вылетает в кенце Не удается найти пакетный файл.

Автор: vinter 26.1.2014, 16:30
Цитата

fopen("lab7_output.bin", "wb");

Ты открывешь файл в режиме бинарной записи, убери b

Автор: n199a 26.1.2014, 22:57
Цитата(vinter @  26.1.2014,  16:30 Найти цитируемый пост)
Ты открывешь файл в режиме бинарной записи, убери b 

А если бинарный файл, то надо же "b" ставить.

Автор: vinter 27.1.2014, 08:52
n199a, а что такое "новая строчка" в бинарном файле, по-твоему?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)