rabbitfoot530's diary

読んだ本と、プログラムに関することのメモです。好きな言語は、C++, Python, Golang, TypeScript。数学・物理・学習理論も好きです。

c

pexpectでinteractは使わない

pexpectでinteract()を使用する記事を結構みるけど、そのまま使ったらクラッシュしてしまったので、interactは使えない?みたい。interactの代わりにexpect(pexpect.EOF)を使うとうまくいく。 import pexpect SERVER = "local" USER = "root" PASSWORD = "Ra…

ファイル/ディレクトリの存在確認

c++ c

ファイル/ディレクトリが存在してるかどうかの確認。 #include <sys/stat.h> int main() { struct stat st; const char* file = "exist_test.cpp"; int ret = stat(file, &st); if (0 == ret) { std::cout << "Exist!" << std::endl; } else { std::cout << "Not Exist!" </sys/stat.h>…

strcmpと'', ""の関係

c c++

strcmpで文字列を比較するときに、文字列側には、""を使わないといけない。''だとエラーになる。 std::string str = "a"; strcmp(str, 'a'); // エラー std::string str = "a"; strcmp(str, "a"); // OK

interfaceのアドレスを取得

c++ c

ifconfigで表示されるIPアドレスの情報をc/c++から取得するコード #include <ifaddrs.h> struct ifaddrs* ifaddr; if (0 != getifaddrs(&ifaddr)) { return 1; } char addrstr[INET_ADDRSTRLEN]; while (ifaddr != NULL) { if (ifaddr->ifa_addr->sa_family == AF_INET)</ifaddrs.h>…

_SC_OPEN_MAX: 最大ファイル数

c c++

1プロセス中の最大オープンファイル数 #include <sys/resource.h> int main() { Print::p(sysconf(_SC_OPEN_MAX)); }</sys/resource.h>

structからclassへ書き換え

c++ c

Cのソースにある、structをクラスへ書き換える。 関数ポインタ使ってると、下記のようにすればいい。 typedef int (*handler_t)(int fd, void* arg); typedef int (*destructor_t)(void* arg); typedef struct context { void* arg; handler_t handler; dest…

libevent使用時のコンパイルエラー

c c++

libeventを使ったコードをコンパイルするときに下記のエラーがでました。 error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory ただ単にリンクがたりてないだけ。/usr/local/libにファイ…