Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 14:30   #1
Interfere
 
Регистрация: 07.05.2009
Сообщений: 3
По умолчанию ограничение вывода

Есть такое дело. При работе программы в качестве cgi приложение под управлением Apache вывод не совпадает с выводом, при запуске этой же программы из консоли. А именно: программа выводит не весь текст. Подскажите пожалуйста, с чем это может быть связано? Может кто-то сталкивался.

Компилятор GCC. Сервер Apache2.
Interfere вне форума Ответить с цитированием
Старый 07.05.2009, 20:29   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Программу в студию.
MaTBeu вне форума Ответить с цитированием
Старый 07.05.2009, 21:00   #3
Interfere
 
Регистрация: 07.05.2009
Сообщений: 3
По умолчанию

Программу, увы, дать не могу. 2000 строк никто читать не будет. но...

вывод обрывается в этой функции:

Код:
void energy_distr_B() {
//double time, bak, tr;
int nam;
 MYSQL mysql,*sock;
    MYSQL_RES *res;
	MYSQL_ROW row;
	unsigned int num_fields;
    char query[1024];
	mysql_init(&mysql);
sock = mysql_real_connect(&mysql,"localhost","root","root","for_diplom",0,NULL,0);
mysql_query(sock,"SELECT MAX(id) FROM opit");
res = mysql_store_result(sock);
row = mysql_fetch_row(res);
num_fields = mysql_num_fields(res);
nam = atoi(row[0]);
mysql_free_result(res);
gdImagePtr im;
gdFontPtr font;
int black;
int white;
int blue;
FILE *out1;
float max_tr = 0;
float max_bk = 0;
im = gdImageCreate(600, 600);
white = gdImageColorAllocate(im, 255, 255, 255); //background color - first allocated
black = gdImageColorAllocate(im, 0, 0, 0);
blue = gdImageColorAllocate(im, 255, 0, 0);
//fprintf(RESFILE,"\nEnergy distribution of backscattered and transmitted electrons\n\NOTATION : \nE is residual energy of electrons\n\Eo is energy of incident electrons\n\BACK is distribution of backscattered electrons\n\TRANS is distribution of transmitted electrons\n\Integration of theese distributions on (E/Eo) gives \n\the values presented in TABLE 1\\n\n");
printf("<br>\nEnergy distribution of backscattered and transmitted electrons<br>\n\
NOTATION : <br>\nE is residual energy of electrons\n\
Eo is energy of incident electrons<br>\n\
BACK is distribution of backscattered electrons<br>\n\
TRANS is distribution of transmitted electrons<br>\n\
Integration of theese distributions on (E/Eo) gives <br>\n\
the values presented in TABLE 1\
<br>\n<br>\n");
//fprintf(RESFILE,"E/Eo       BACK       D-TRANS\n");
printf("<table><tr><td><table><tr><td width=80 align=center bgcolor=\"red\">E/Eo</td><td width=80 align=center bgcolor=\"red\">BACK</td><td width=80 align=center bgcolor=\"red\">TRANS-D</td>   \n");
font = gdFontGetSmall();
//Compute and write distribution on energy of backscattering and transmission
//alf=alfa[lend-1];
int i;
//prepareImage(masht_tr, im, black);
float iter;
char buffer[50];
for(i=0;i<=cont;i++) {
// time=tt[i];   bak=bakscd[i];   tr = transd[i];
  //fprintf(RESFILE,"%-11.4g%-11.4g%-11.4g\n",tt[i],bakscd[i],transd[i]);
  printf("<tr><td width=80 align=center >%-11.4g</td><td width=80 align=center >%-11.4g</td><td width=80 align=center >%-11.4g</td></tr>\n",tt[i], bakscd[i],transd[i]);
  sprintf (query,"INSERT INTO escape (ID_opit, E_E0, bakscd, `trans-d`) VALUES ('%d','%g','%g','%g')", nam, tt[i], bakscd[i], transd[i]);
    //printf("\nquery: %s\n",query);
  mysql_query(sock,query);
  if(transd[i]>max_tr) max_tr = transd[i];
  if(bakscd[i]>max_bk) max_bk = bakscd[i];
}
float masht_tr = 500/max_tr;
float masht_bk = 500/max_bk;
for(iter = 50;iter<=550;iter+=50){
    gdImageLine(im, 50, iter, 550, iter, black);
    gdImageLine(im, iter, 50, iter, 550, black);
    sprintf(buffer, "%G", (iter-50)/500);
    gdImageString(im, font, iter, 560, (unsigned char*)buffer, black);
    sprintf(buffer, "%-11.4g", (iter-50)*max_bk/500);
    gdImageString(im, font, 5, (600-iter), (unsigned char*)buffer, black);
}
gdImageString(im, font, 290, 580, (unsigned char*)"E/E0", black);
gdImageString(im, font, 5, 20, (unsigned char*)"Backscattered", black);
for(i=1;i<=cont;i++) {
  //gdImageLine(im, (500*tt[i-1]+10), (masht_tr*transd[i-1] + 10), (500*tt[i]+10), (masht_tr*transd[i] + 10), black);
  gdImageLine(im, (500*tt[i-1]+50), (550 - masht_bk*bakscd[i-1]), (500*tt[i]+50), (550 - masht_bk*bakscd[i]), blue);
}
time_t filename;
filename = time(NULL);
sprintf(buffer, "/home/inter/diploma/%ld.jpg", filename);
out1 = fopen(buffer, "wb");
gdImageJpeg(im, out1, 75);
fclose(out1);
gdImageDestroy(im);
printf("</table></td><td valign=\"center\"><img src=\"%s\"></td></tr></table>",buffer);
printf("max: %g", max_bk);
return;
}
Если еще конкретне, то вывод обрывается в цикле. но в этом же цикле все значения записываются в базу.
Interfere вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничение даты Alexi Компоненты Delphi 4 21.04.2009 13:09
не получается ограничение KARUSHEV Помощь студентам 11 24.03.2009 14:13
Ограничение повторов ТРОЯН=) Помощь студентам 5 06.03.2009 09:11
ограничение по времени bunner Помощь студентам 4 05.02.2009 21:31
Ограничение вертикальной прокрутки valerij Microsoft Office Excel 11 18.06.2008 18:00