На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Программирование на Open Cl , Помощь при работе с бинарными файлами
    Здравствуйте! Работаю с программой на Open Cl. Возникла проблема с процедурой сохранения данных в текстовый документ. Раньше когда данные не вносились из вне программа работает правильно. Сейчас при запуске программы она считывает бинарный фаил обрабатывает его но результаты обработки не сохраняет в текстовый фаил. Для записи в текстовый фаил использовалась данная процедура void SaveArray. Подскажите возможно теперь процедура должна выглядеть по другому и в чем может быть вообще проблема? Спасибо за помощь!
    ExpandedWrap disabled
      void SaveArray(LPCSTR way,float *p,int N)
      {
       
          FILE *f;
          char *P;
          char s[128];
          int n,nn,nx,ny,l,np;
          P=new char [N*32];
          memset(P,0,N*32);
          n=0;nn=0;
          for (np=0;np<N;np++)
          {
              {
                memset(s,0,32);
                sprintf(s,"%g",p[n]);
                l=strlen(s);
                memcpy(P+nn,s,l);
                nn=nn+l;
                if (np<N-1) {P[nn]=32;nn++;}
                n++;
              }
             P[nn]=13;nn++;
             P[nn]=10;nn++;
          }
          f= fopen(way, "wb");
          fwrite(P,1,nn,f);
          fclose(f);
          delete P;
      };
    Сообщение отредактировано: JoeUser -
      Нет, процедура работает почти корректно.
      Написал "почти", потому как во всех строчках, кроме последней, есть висячий концевой пробел.
      Если ты программируешь на С++, а не на Си - есть способ записи массива в файл гораздо более компактный.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0160 ]   [ 16 queries used ]   [ Generated: 28.03.24, 22:30 GMT ]