3. main関数をいじることなくパラメータを変える 前準備において配列の要素数をsizeとしてmain関数内で定義してました. よく使われるのはmain関数の外側で#defineで定義する方法です. 新たにarray_test.cを用意します. main関数内で初期化される配列aの大きさ,初項,等差を全て#defineで定義します...
#define _MSG4(lv,msg,...) fprintf(stderr,_LOG(msg),lv,_FMT,__VA_ARGS__)/* 使用例 */inttest_function(void){FILE*fp;fp=fopen("file_never_exist","r");if(fp==NULL){ERRORMSG("%s\n",strerror(errno));return-1;}fclose(fp);return0;}intmain(intargc,char**argv){INFOMSG("test...
または、同じプロトタイプで同様の関数 truncString2 を実装できますが、2 番目の引数として渡された文字数に文字列を切り捨てます。数字の符号は、新しい文字列を形成する側を示します。つまり、正の整数は左側を示し、負の整数はその反対を示します。 #define _GNU_SOURCE #include <stdio.h> ...
一度定義されると、与えられた部分文字列の最初の出現を見つけるためにstrcasestr関数を呼び出すことができます。ただし、この関数は両方の文字列の大文字小文字を無視することに注意してください。 #define_GNU_SOURCE#include<stdio.h>#include<stdlib.h>#include<string.h>constchar*tmp="This ...
この構造体は、tpdequeue()でも使用され、一部のフィールドは、アプリケーションがこの関数を呼び出すまで使用されません。コードリスト3-1は、この構造体全体を示しています。 リスト3-1 tpqctl_t構造体 #define TMQNAMELEN 127 #define TMMSGIDLEN 32 #define TMCORRIDLEN 32struct tpqctl_...
#define TPNOTRAN 0x00000008 /* トランザクション・モードでは送信しない */ #define TPTRAN 0x00000010 /* トランザクション・モードでの送信 */ #define TPNOTIME 0x00000020 /* タイムアウトなし */ #define TPABSOLUTE 0x00000040 /* 絶対的な優先順位の指定 */ #define TPGETANY...
マクロを、その名前をコードに記述した場合に呼び出される関数として定義することもできます。 #define キーワードを使用して、C 言語でマクロを定義します。 たとえば、C 言語マクロを使用して MIN 関数と MAX 関数を定義しましょう。以下のコードを参照してください。 #include <stdio.h> ...
#define_GNU_SOURCE#include<sched.h>#include<stdio.h>#include<stdlib.h>#include<sys/wait.h>#include<unistd.h>#defineerrExit(msg) \ do { \ perror(msg); \ exit(EXIT_FAILURE); \ } while (0)intmain(intargc,char*argv[]){cpu_set_t set;intparentCPU,childCPU,wstatus;longnloops;if(arg...
#define Max_key_length 128 #define Form inttypedefstruct_Data{charkey[Max_key_length];/*用途によって変更*/Formval;}Data;typedefstruct_Map{Data*hash_table;unsignedsize;unsignedamount;}Map;intmake_hash(Map*,char*);voidinit_map(Map*,unsigned);voidrefresh(Map*,unsigned);intput(Map*,char*,...
後はnotify関数を定義します。main.c typedef struct testdata { int notify1_cnt; int notify2_cnt; int notify3_cnt; } testdata_t, *TestData; #define NTYPE(slide) (0x01)<<(slide) static void test_notify1(int publish_type, void * detail); static void test_notify2(int publish_type, ...