void fnPrintSVekt (vector< string > rsText) {//Выводит количество элементов в векторе строк и значения, требует наличия #include <vector> в файле
charszBuf[2000],szTmp[200];//размер всего печатающего буфера и элемента
int iKolEl;
iKolEl=rsText.size();
sprintf (szBuf,"Количество элементов вектора %d\n",iKolEl);
for (int i=0;i<iKolEl;i++) {
sprintf (szTmp," (%d) %s-%d",i+1,rsText[I].c_str(),rsText[I].length());
strcat (szBuf,szTmp); }
#if defined (DOS)
strcat (szBuf,"\n");//Для DOSдобавляется перевод строки
#endif
fnOtlPrintf ("%s",szBuf); //универсальная печать для DOS и Windows
}
void fnPrintSMass (string sText[],int iKolEl) {//Выводит количество элементов в массиве строк и значения, ни как не может определить количество элементов, требует наличия какого-то #include ... в файле
// extern string sText;-принахождениивудаленномфайле,восновномфайле [Error] variable or field 'fnPrintSMass' declared void и [Error] 'string' was not declared in this scope
char szBuf[2000],szTmp[200];
sprintf (szBuf,"Заданноколичествоэлементов string %d\n",iKolEl);//количествоэлементовстрочногомассива
for (int i=0;i<iKolEl;i++) {
sprintf (szTmp," (%d) %s-%d",i+1,sText[I].c_str(),sText[I].length());
strcat (szBuf,szTmp);
}
#if defined (DOS)
strcat (szBuf,"\n");//Для DOSдобавляется перевод строки
#endif
fnOtlPrintf ("%s",szBuf);//универсальная печать для DOS и Windows
}
voidfnOtlPrintf(char *pszFormat,...) {//универсальная печать для DOS и Windows с функционалом printf, работает в другом файле
static int iNomer=1;
char szCaption[]="Отладочное окно",szBuffer [9000];
char *pArguments;
pArguments =(char *)&pszFormat + sizeof(pszFormat);//указывает на следующую переменную за форматом
vsprintf(szBuffer, pszFormat, pArguments);//в буфер помещает в соответствии с форматом аргументы, Действие функции vsrintf() эквивалентно действию функции spsintf(), но список аргументов заменен указателем на список аргументов. Этот указатель должен иметь тип char* или va_list, который определен в заголовке <stdarg.h>.
#if defined (DOS) //#define DOS #else #endif
printf ("%s",szBuffer);//\n
#else
sprintf(szCaption, "%s %d",szCaption, iNomer);
iNomer++;
MessageBox(NULL, szBuffer, szCaption, MB_OK);//WS_VSCROLL|SB_CTL
#endif
}