Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
#1

fwrite, возвращает ноль, хотя... - C++

27.05.2010, 11:31. Просмотров 851. Ответов 8
Метки нет (Все метки)

Код
    FILE *h;    
    if ((h = fopen("1.p", "w")) == NULL) {printf("Can't create 1.p.\n");exit(1);}
    char buff[1045];    
    k+=size;
    //копирование области данных
    rcv_size=fwrite(&buff[21],1,size,h);
    if (rcv_size==0)
    {
          kk++; //попадаем периодически сюда, НО!! size>0!!!
    }
Из массива buff, размер которого 1045 байт, я вытаскиваю кусок размером 1024 байт, т.е. в из &buff[21].
Нооо! временами попадаю в if, т.е. число записанных данных равно 0, хотя size>0. В чем же глюк такой?....
Пишу под Linux.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2010, 11:31     fwrite, возвращает ноль, хотя...
Посмотрите здесь:

GetPrivateProfileInt всегда возвращает ноль - C++
Хотел считывать значение из INI-файла, но столкнулся с такой проблемой: #include <Windows.h> #include <iostream> #include...

При нахождении количества локальных максимумов в последовательности for_each возвращает ноль - C++
Задание: Найти количество локальных максимумов в последовательности с помощью for_each. #include <iostream> #include <algorithm> ...

Ошибка деления на ноль, хотя это должно обойти - C++
Добрый день! Пытаюсь сравнить модуль числа с квадратом другого - не получается: if (abs(y)>(x*x)) z=cos(M_PI*x/4); else z=1+1/x; ...

Посчитать количество столбцов матрицы в которых есть хотя бы один ноль - C++
б) посчитать количество столбцов, в которых есть хотя бы один ноль.

Сформировать массив К из номеров столбцов матрицы, в которых есть хотя бы один ноль - C++
Заданна матрица вещественных чисел P (n x m). Сформировать массив К из номеров столбцов матрицы, в которых есть хотя бы один ноль. Найти...

Сформировать массив из номеров столбцов матрицы, в которых есть хотя бы один ноль - C++
8.Задана матрица вещественных чисел . Сформировать массив из номеров столбцов матрицы, в которых есть хотя бы один ноль. help

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 11:46     fwrite, возвращает ноль, хотя... #2
Вообще fwrite(&buff[21],1,size,h); означает записать в файл символ находящийся в b[21] size-раз.
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
27.05.2010, 13:16  [ТС]     fwrite, возвращает ноль, хотя... #3
Цитата Сообщение от kazak Посмотреть сообщение
Вообще fwrite(&buff[21],1,size,h); означает записать в файл символ находящийся в b[21] size-раз.
нет, я неправильно вопрос описал, там на самом деле не массив, а указатель на массив. а по поводу size раз - не правда, в программной среде CodeWarrrior на месте size как раз значится объем передаваемых данных...
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 13:35     fwrite, возвращает ноль, хотя... #4
Если используется массив указателей, тогда указатель передавать надо без операции взятия адреса &.
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
27.05.2010, 13:48  [ТС]     fwrite, возвращает ноль, хотя... #5
грубо говоря сделано так:
char a[1045];
char *b=a;
fwrite(&b[21],1,size,h);

вроде проверял что на вход fwrite приходит, все сходится.
только блин, временами fwrite 0 возвращает...
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 14:05     fwrite, возвращает ноль, хотя... #6
Цитата Сообщение от sitesv Посмотреть сообщение
временами fwrite 0 возвращает...
это происходит случайным образом, или всегда на определенных наборах данных?
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
27.05.2010, 15:02     fwrite, возвращает ноль, хотя... #7
Полный рабочий кусок кода в виде отдельной программы
Иначе разговор пустой
И чтобы сказать правильный код или нет - нужно знать что код именно должен делать ?
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
27.05.2010, 15:13     fwrite, возвращает ноль, хотя... #8
Цитата Сообщение от kazak Посмотреть сообщение
Вообще fwrite(&buff[21],1,size,h); означает записать в файл символ находящийся в b[21] size-раз.
Не-а! Это значит записать в файл h size элементов по 1 байту каждый начиная с buf[21]. В любом случае явно не то, что задумано...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2010, 23:31     fwrite, возвращает ноль, хотя...
Еще ссылки по теме:

В прямоугольной матрице определить сумму элементов в строках, содержащих хотя бы один ноль - C++
в прямоугольной матрице определить сумму элементов в строках, содержащих хотя бы один ноль c++ #include "stdafx.h" #include <iostream> ...

RegOpenKeyEx возвращает 2 хотя ключ в реестре точно существует - C++
RegOpenKeyEx возвращает 2 хотя ключ в реестре точно существует и в regedit я его вижу перепробывал уже тучу параметров подскажите что не...

почему после нажатия на ноль мне приходится два раза жать на Enter чтобы выйти из программы ,хотя я в while ук - C++
почему после нажатия на ноль мне приходится два раза жать на Enter чтобы выйти из программы ,хотя я в while указал что цикл действует пока...

Ф-ия month всегда возвращает true, хотя так не должно быть - C++
Ф-ия month всегда возвращает true, хотя так не должно быть. В этой ф-ии я должна либо ввести полностью месяц, либо три первых буквы. Эсли...


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

Или воспользуйтесь поиском по форуму:
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
27.05.2010, 23:31  [ТС]     fwrite, возвращает ноль, хотя... #9
Мужики, спасибо за думку! В итоге оказалось , что чип, на который производится запись, по неизвестным причинам не позволяет записать более 2.2 мб, из-за этого и возвращался ноль... Спасибо все же! )
Yandex
Объявления
27.05.2010, 23:31     fwrite, возвращает ноль, хотя...
Ответ Создать тему
Опции темы

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