私はlibpqを使ってpostgreSQLクライアントアプリケーションを開発しています。 gccはエラーなくコンパイルします。私は、しかし、この機能のプログラムを実行すると:postgreSQLクライアント(libpq)のセグメント化エラー
void print_column(PGconn *connection) {
PGresult *id_list;
int row;
// process_query() calls PQexec(), checks for errors, then returns the result
id_list = process_query(connection, "SELECT id FROM customers WHERE state='CA'");
for(row = 0; row < PQntuples(id_list); row++) {
printf("%s\n", PQgetvalue(id_list, row, 0));
// to pause the loop on each rep for debugging
getchar();
}
}
は、エラーが発生します。
row number 1701734765 is out of range 0..8
Segmentation fault
何奇妙なのは、forループの問題もなく、最初の5回の繰り返しを行うことです。次に、6番目にセグメンテーション違反が発生します。
私はプログラム全体を投稿していませんでした。なぜなら、1000以上の行があるからです。どんな提案も高く評価されます。
%iはプログラム内の%sです。私は書式設定に問題があり、投稿する前にその部分を書き直しました。私はあなたのデバッグの提案を試して、私のコードを再チェックします。私はあなたの投稿を続けます。 – contrapositive