次のコードは、セグメンテーション違反を示しています。私が把握しているすべての間違いは、printf() ステートメントを含む行にありますが、その理由と修正方法がわかりません。
#include<iostream>
#include<stdio.h>
#include<string>
#include<readline/history.h>
#include<readline/readline.h>
using namespace std;
int main()
{
using_history();
string command("history");
add_history(command.c_str());
if (command == "history")
{
cout<< "hello\n";
for(int i = 0 ; i < history_length ; i++)
{
cout<<"in there\n";
HIST_ENTRY *entry = history_get(i);
cout<<"till here\n";
printf("%5d %s", i , entry->line);
}
}
return 0;
}