res = PQexec(db, "SELECT username, msg, ts, lat, lon FROM tweet");
rows = PQntuples(res);
cols = PQnfields(res);
printf("Getting %d rows\n", rows);
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
{
msg = PQgetvalue(res, i, j);
printf("%s\t", msg);
}
putchar(10);
}
PQclear(res);
username
msg
ts (lat, lon)
我希望打印的表格采用上面的格式,但它会在一行中打印出来。如何添加换行符和格式化列查询以包括在括号中或在逗号之间等。
答案 0 :(得分:1)
只需将\t
更改为\n
,就像这样
printf("%s\n", msg);
如果您想更改格式,可以执行以下操作:
将每个结果分配给变量:
char *uname, *msg, *ts, *lat, *lon;
然后,使用临时的:
char *res = malloc(/*pick a safe size*/);
sprintf(res, "%s\n%s\n%s (%s, %s)\n", uname, msg, ts, lat, lon);
printf(res);
或者,您可以跳过分配到res并使用
printf("%s\n%s\n%s (%s, %s)\n", uname, msg, ts, lat, lon);
代替