CでCGIを書く上で、perlのsplit命令の代替になるようなライブラリを探しています。
www=xxx&yyy=zzz という引数をchar型の配列に入れ、それを & で分割し、次に = で分割して
query[0].name = www; query[0].value = xxx
query[1].name = yyy; query[1].value = zzz
などと、perlと同等のことをさせたいのですが、文字列をその都度走査していたのでは処理が莫大になりそうなので、もしご存知であれば教えていただければと思います。
No.1ベストアンサー
- 回答日時:
strtokがありますが、結局自分で少しは書かなくてはいけないと思います。
ちょっとCで書いてみました。関数化すればよいと思います。
struct QUERY {
char *name;
char *value;
};
void XXX()
{
char *kari = "www=xxx&yyy=zzz";
char qbuf[128];
strcpy(qbuf, kari);
struct QUERY *query;
char *p;
int count = 1;
for (p = qbuf; *p != '\0'; p ++) {
if (*p == '&')
count ++;
}
query = (struct QUERY *)malloc(sizeof(struct QUERY) * count);
count = 0;
query[0].name = qbuf;
for (p = qbuf; *p != '\0'; p ++) {
if (*p == '=') {
*p = '\0';
query[count].value = p + 1;
} else if (*p == '&') {
*p = '\0';
count ++;
query[count].name = p + 1;
}
}
free(query);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のfor文です。 繰り返しの...
-
strchr() の第2引数はなぜ int ...
-
CStringをwchar_tに変換したい
-
_TCHAR*での引数の読み込み
-
間接操作のレベルとは
-
fgetsなどのときのstdinのバッ...
-
c++ 文字列を入力して、一文字...
-
C言語の入力した文字を反転させ...
-
ftoa の作り方
-
標準ライブラリ関数の自作につ...
-
c言語です。
-
ネットワークにつながっている...
-
str系関数を使わずに二つの文字...
-
構造体のアライメント調整
-
間接参照のレベルが異なっています
-
文字列から空白を取り除きたい...
-
起動時の引数の取得方法が分か...
-
コマンドラインに入力されてい...
-
配列をnビットシフトする
-
RGB→YUV変換のプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
charでの計算?
-
C言語のfor文です。 繰り返しの...
-
charからLPTSTRへの変換方法
-
文字列から空白を取り除きたい...
-
C言語の入力した文字を反転させ...
-
'const char *' 型は 'char *' ...
-
配列をnビットシフトする
-
str系関数を使わずに二つの文字...
-
int main()の・・・
-
atoi( ) の反対をやりたい
-
CStringをwchar_tに変換したい
-
c++ 文字列を入力して、一文字...
-
switch文で文字を比較すること...
-
干支のプログラム
-
3桁区切(コンマ)記号をつけ...
-
絶対パスからのファイル名の切...
-
間接操作のレベルとは
-
間接参照のレベルが異なっています
-
型変換
おすすめ情報