Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.214.215] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Работаю с программой на Open Cl. Возникла проблема с процедурой сохранения данных в текстовый документ. Раньше когда данные не вносились из вне программа работает правильно. Сейчас при запуске программы она считывает бинарный фаил обрабатывает его но результаты обработки не сохраняет в текстовый фаил. Для записи в текстовый фаил использовалась данная процедура void SaveArray. Подскажите возможно теперь процедура должна выглядеть по другому и в чем может быть вообще проблема? Спасибо за помощь!
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; }; |
Сообщ.
#2
,
|
|
|
Нет, процедура работает почти корректно.
Написал "почти", потому как во всех строчках, кроме последней, есть висячий концевой пробел. Если ты программируешь на С++, а не на Си - есть способ записи массива в файл гораздо более компактный. |