я в настоящее время этой функции для печати каждых рядов моих таблицпечати из имен столбцов таблиц
static int callback(void *NotUsed, int argc, char **argv, char **szColName)
{
for(int i = 0; i < argc; i++)
{
cout.width(17); cout << left << argv[i];
}
std::cout << "\n";
return 0;
}
Как я распечатать szColName, таким образом, что это только один раз сверху, а не несколько вхождений него ? Пробовал это:
static int callback(void *NotUsed, int argc, char **argv, char **szColName)
{
int n = sizeof(szColName)/sizeof(szColName[0]);
for (int i = 0; i < n; i++)
{
cout.width(17); cout << left << szColName[i];
}
printf("\n");
for(int i = 0; i < argc; i++)
{
cout.width(17); cout << left << argv[i];
}
std::cout << "\n";
return 0;
}
Но он выдает каждый раз после вывода строки значения
Но я не думаю, что 'sizeof (szColName)/sizeof (szColName [0])' дает 'n'. деление размера двух указателей, вероятно, дает вам «1». – phoeagon
Вы можете печатать заголовки в первый раз, когда вызывается функция (и относительно того, где сохранить этот флаг «первый раз», взгляните на 'void * NotUsed'). –