2008-07-12から1日間の記事一覧

popen関数とpclose関数

標準I/Oライブラリのpopen関数でパイプを実現する。 #include <stdio.h> FILE *popen(const char *command, const char *type); 戻り値: 成功ならファイルポインタ、エラーならNULL int pclose(FILE *stream); 戻り値: シェルの終了ステータス。エラーの場合は-1comma</stdio.h>…

パイプとFIFO

パイプは名前を持たないため、(親子)関係があるプロセス間でしか使用できないという根本的な制限がある この制限は、FIFO、名前付きパイプで解決された。パイプパイプはpipe関数で作成され、単方向(unidirectional)のデータの流れを提供する #include <unistd.h> int</unistd.h>…

C言語でUNICODEを扱う

ただ、wprintf()で表示しようとしても、コンソールに文字列が表示されない。setlocale()関数などを使って、UNICODEを扱えるようにする必要がある。 #include <stdio.h> #include <locale.h> int main() { char *loc = setlocale(LC_CTYPE, ""); printf("%s\n", loc); setlocale(</locale.h></stdio.h>…

FIFO

パイプは名前を持たないため、共通の親プロセスを持つプロセス間でしか使用できない。FIFO(first in first out)はパイプと類似し、単方向(半二重)のデータの流れを提供する。 FIFOとパイプの違いは、FIFOがパス名と結合しており、互いに関係のないプロセス…