[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 01/08 11:49 / Filesize : 150 KB / Number-of Response : 701
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++ CGIスレッド



1 名前:nobodyさん [04/02/26 08:58 ID:GDAQuNNS]
C言語CGI専用スレッド
pc2.2ch.net/test/read.cgi/php/988918264/

C/C++ CGI 専門のスレッドです。

スクリプトを検索できるサイトです。

cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/
www.cgifiles.com/scripts/cc++/index.shtml

前スレ
pc2.2ch.net/test/read.cgi/php/988918264/

131 名前:nobodyさん mailto:sage [04/07/03 11:52 ID:???]
$gzip = '/bin/gzip/';

if($ENV{'HTTP_ACCEPT_ENCODING'} =~ /gzip/ && $gzip ne ''){

print "Content-type: text/html;charset=Shift_JIS\n";

if($ENV{'HTTP_ACCEPT_ENCODING'} =~ /x-gzip/){

print "Content-encoding: x-gzip\n\n";

}else{

print "Content-encoding: gzip\n\n";

}

open(STDOUT,"| $gzip -1 -c");

}else{

print "Content-type: text/html;charset=Shift_JIS\n\n";

}

これのC版はどうすればいいんですかね・・・?

132 名前:nobodyさん mailto:age [04/07/03 11:53 ID:???]
( ゚д゚)ポカーン

133 名前:nobodyさん [04/07/05 15:51 ID:/46odsg/]
Cで画像のアップロードCGI作ってるんだけど、
データの取得の方法が分からんのよ。

if ( strcmp(method, "POST") == 0 ) {

// コンテンツ長の取得
contentLength = getenv("CONTENT_LENGTH");

// バッファサイズの判定
if( atoi(contentLength) > LINE_BUFFER ) {

// バッファサイズエラー
exit(0);
}


fgets(Data, (int)contentLength, stdin);

}
これじゃDataには入らないの?

134 名前:nobodyさん mailto:age [04/07/05 16:25 ID:???]
% man 3 fgets

135 名前:nobodyさん mailto:sage [04/07/05 16:27 ID:???]
>>133
>これじゃDataには入らないの?

www2k.biglobe.ne.jp/~motoi/cdecgi02.html
参考になるかも。

アップロードの場合、
getenv("CONTENT_TYPE")がapplication/x-www-form-urlencoded
じゃなくて、multipart/form-data; boundary=----------hogehogeohogehoge
ってなってるはずだから読み込んだデータを分離する必要あるんじゃない?

136 名前:nobodyさん [04/07/05 18:14 ID:/46odsg/]
>multipart/form-data; boundary=----------hogehogeohogehoge
>ってなってるはずだから読み込んだデータを分離する必要あるんじゃない?

色々と試した結果、データ分離前まではできました。
分離させんの大変そうだなぁ。

137 名前:nobodyさん mailto:age [04/07/05 18:16 ID:???]
( ゚д゚)ポカーン

138 名前:nobodyさん mailto:sage [04/07/05 18:49 ID:???]
>>137

ageてまで何が言いたいのかわからん。
いいあるなら方法教えてよ。

139 名前:nobodyさん mailto:sage [04/07/05 20:15 ID:???]
教えて君ウザイ



140 名前:いいあるなら mailto:いいあるなら [04/07/05 21:12 ID:???]
いいあるなら

141 名前:138 mailto:age [04/07/05 21:38 ID:???]
>>139-140
   , -‐−-、  ヽ∧∧∧ //  |
.  /////_ハ ヽ< 釣れた!> ハ
  レ//j け ,fjlリ / ∨∨V ヽ  h. ゚l;
 ハイイト、"ヮノハ     //   |::: j  。
  /⌒ヽヾ'リ、     //     ヾ、≦ '
. {   j`ー' ハ      // ヽ∧∧∧∧∧∧∨/
  k〜'l   レヘ.   ,r'ス < 初めてなのに >
  | ヽ \ ト、 ヽ-kヾソ < 釣れちゃった!>
.  l  \ `ー‐ゝ-〈/´   / ∨∨∨∨∨∨ヽ
  l     `ー-、___ノ
  ハ   ´ ̄` 〈/‐-、

142 名前:nobodyさん mailto:sage [04/07/05 22:36 ID:???]
stdinから丸呑みしてファイルにでも保存してみろ。

143 名前:138 mailto:age [04/07/05 23:42 ID:???]
>>142
またまた釣れた。

144 名前:nobodyさん [04/07/06 08:43 ID:LzoVUw8w]
CでCGIは既に古典的なんだから
知らない人の手助けでもせんと
このスレの意味ないじゃん

145 名前:nobodyさん mailto:sage [04/07/06 09:27 ID:???]
% man 2 read
% man 3 fread
% man 3 fgets

146 名前:nobodyさん mailto:age [04/07/06 10:28 ID:???]
ここは、そんな餌で俺がクマーなインターネッツですね

147 名前:nobodyさん mailto:sage [04/07/06 11:39 ID:???]
プログラム板へ書き込んだのですが放置されました。。(涙)
マルチで申し訳ないですが再度書き込まさせていただきます。

この度RedHat7.3(@)からRedHat9(A)へ移行したのですが、
@で問題なく動作していたCGIがAの環境で一部動作しなくなりました。
//環境
@RedHat7.3
gcc-2.96-113
apache-1.3.27-2
ARedHat9
gcc-3.2-2-5
httpd-2.0.40-21.9

原因を調べていくとどうも日付計算部分がエラーを起こしているようです。
一般的な日付計算ですが何が問題なのか検討もつきません。
(ググッたのですが・・わかりませんでした。。gccが原因??)
どなたか教えていただけないでしょうか?よろしくお願いいたします!!
※apache1.3.31でも同様の現象がおきました。。。
/*-----ソース一部抜粋------*/
#include <stdio.h>
#include <time.h>

struct tm*ptr;
time_t lt;
intNowYY, NowMM, NowDD;

lt = time(NULL);
ptr = localtime(&lt);
NowYY = ptr->tm_year + 1900;
NowMM =ptr->tm_mon + 1;
NowDD = ptr->tm_mday;
/*----------------------*/

148 名前:nobodyさん mailto:age [04/07/06 11:42 ID:???]
機種依存文字使うなヴォケ

149 名前:147 mailto:sage [04/07/06 11:50 ID:???]
書き忘れましたが、Cで作っているプログラムです。コンパイル問題なく通ります。
apacheのエラーログを見ると”premature end of script headers”と出ているので
どうもhtmlに出力時にCGIが死んでる見たいです。
同じ現象が出ている人も多いと勝手に思ってるのですが、私だけなんでしょうか??
ググっても perlのことばかりなんで・・・・



150 名前:147 mailto:sage [04/07/06 11:53 ID:???]
>>148
localtime(&lt);のことですか?
&を大文字で書かないと2ちゃんに書き込むときに
">"に変換されてしまうんで・・・


151 名前:nobodyさん mailto:sage [04/07/06 12:03 ID:???]
なんだ、ネタだったのか…
釣られちゃったよ orz

152 名前:nobodyさん [04/07/06 12:07 ID:NBQAU1O/]
CGIの出力でSSIを使いたいのですが
使えます?使ってる人いますか?


153 名前:nobodyさん mailto:sage [04/07/06 12:19 ID:???]
(´-`).。oO(アホか・・・)

154 名前:152 [04/07/06 12:23 ID:NBQAU1O/]
>>153

なんで?なんでアホなの??
サーバーがパースしてくれないから絶対使えないの??

155 名前:nobodyさん mailto:kuma [04/07/06 12:25 ID:???]
そんな餌で俺がクマー(AA略

156 名前:152 [04/07/06 12:27 ID:NBQAU1O/]
マジな質問でも釣りとかいわれるスレなんだね・・・

157 名前:nobodyさん mailto:sage [04/07/06 12:29 ID:???]
それ以前にスレ違い

158 名前:152 [04/07/06 12:33 ID:NBQAU1O/]
なんで?CのCGIでSSIを出力したいんだよ?
このスレジャン

159 名前:nobodyさん mailto:sage [04/07/06 12:38 ID:???]
こいつはCのCGIで出力するhtmlについてもここで聞くのだろうな・・・



160 名前:152 [04/07/06 13:20 ID:NBQAU1O/]
>>159

知らないんだろ?w

161 名前:nobodyさん mailto:sage [04/07/06 13:28 ID:???]
釣れますか?

162 名前:152 [04/07/06 13:30 ID:NBQAU1O/]
くだらない釣りすんなよ・・スレ汚しが・・・

163 名前:nobodyさん mailto:sage [04/07/06 13:31 ID:???]
このスレ、なんか臭いな

164 名前:152 [04/07/06 13:34 ID:NBQAU1O/]
お前が臭くしたんだよ・・・

165 名前:147 mailto:sage [04/07/06 13:41 ID:???]
>>151さん
ネタじゃないんですよ。。本気で悩んでます。。

>>152さん
SSIを使いたいというのはよくわからんのですが
特定のHTMLの一部分に数値等を表示させたいということでいいんですか?

166 名前:nobodyさん mailto: [04/07/06 14:01 ID:???]
localtime(<);

167 名前:152 [04/07/06 14:11 ID:NBQAU1O/]
>>165

<!--#include file="他のファイル.html" -->を使って他のhtml
ファイルを取り込んでブラウザーに出力できないかなって思ったんです。

SSIってhttpdがファイルをパースして結果を置き換えますよね・・・

なんで出力をパースさせればいいのかな??
CGIからの出力をパースさせるのはhttpdの設定(apacheなんでhttpd.conf)??

なんて考えてたんですけど実際はどうすればいいのかわからないので
質問してみたんです・・・・・



168 名前:nobodyさん mailto:sage [04/07/06 14:28 ID:???]
SSIの基本を理解してないならくだ質スレへどうぞ

169 名前:152 [04/07/06 14:35 ID:NBQAU1O/]
>>168

はあ?どこがわかってねえっていうんだよボケ!
つーかどこが理解してないかいえねえだろ?
トリアエズくだらねえツッコミばっか入れてるキモイてめえはこんりんざいだまってろ
アホ。



170 名前:nobodyさん mailto:sage [04/07/06 14:38 ID:???]
どうもならんな・・・
己の無知に気がついていない

171 名前:152 [04/07/06 14:45 ID:NBQAU1O/]
何もいわないで適当に批判すれば頭がよくみられるんだなこのスレでは・・・

172 名前:nobodyさん mailto:sage [04/07/06 14:50 ID:???]
もう回答は得られないのだから好きに吠えていろ池沼

173 名前:nobodyさん mailto:sage [04/07/06 15:00 ID:???]
おまいら、これでも見てモチツケ
www.sweetnote.com/images/5604972680f574242200eccb0dc39af4.jpg
www.sweetnote.com/images/549af04143a8f0a1c24a5c1826ab3234.jpg

174 名前:152 [04/07/06 15:03 ID:NBQAU1O/]
147みたいなまともな人もいるんだけど、
172みたいなどうしようもない負け犬がわんわん吠えると
とたんに堕スレになっちゃうな。


175 名前:nobodyさん mailto:sage [04/07/06 15:19 ID:???]
>>173
見れないよう

176 名前:147 mailto:sage [04/07/06 15:45 ID:???]
>>152
あんまりあつくなっても・・・・
SSIうんぬんではなくて
Cでパースして出力すればできるのでは?

177 名前:黒死犬 ◆EgxBlf8nvc mailto:sage [04/07/06 16:45 ID:???]
AddType

178 名前:fff mailto:sage [04/07/06 16:50 ID:???]
>>SSI
httpd.apache.org/docs/misc/FAQ-F.html#ssi-part-iii
という感じで、"You can't."だと。しかし、
This is a feature The Apache Group hopes to add in the next major release after 1.3.
で、付加される機能かも知れない。知らないが。

179 名前:nobodyさん mailto: [04/07/06 16:56 ID:???]
>>147
とりあえずprintfとかでヘッダーを出力した後にfflushしておけばそのエラーは出ないかも。



180 名前:179 mailto: [04/07/06 17:08 ID:???]
というか、その前に落ちているのか。
おそらく問題は他にある。

181 名前:黒死犬(魚かも) ◆EgxBlf8nvc mailto:sage [04/07/06 17:18 ID:???]
ヘッダにいらんもん出力してるって分かってんだから
プログラムが出力してる内容を見れば良いだけじゃない・・・

182 名前:nobodyさん mailto:sage [04/07/06 17:19 ID:???]
>>181
ヘッダを出力する前に落ちているだけだろ。馬鹿かお前は。

183 名前:黒死犬(魚かも) ◆EgxBlf8nvc mailto:sage [04/07/06 17:21 ID:???]
いやいや、違いますよ
>>149
を読んでください

184 名前:黒死犬(魚かも) ◆EgxBlf8nvc mailto:sage [04/07/06 17:22 ID:???]
すまそ誤爆った
でしゃばってすまぬ

185 名前:nobodyさん mailto:sage [04/07/06 17:22 ID:???]
落ちてヘッダを出力していないから「premature end of script headers」になるんだよ。


186 名前:nobodyさん mailto:sage [04/07/06 17:32 ID:???]
CGIが出力するhtmlにSSIを書いても動きません。

はい終了。

方法はあるけど152みたいなやつには教えん。

187 名前:nobodyさん mailto:sage [04/07/06 17:40 ID:???]
少なくともapache 2.0.50で動くことは今確認できた
でも完全にスレ違いの話題だな

>>152はこんなところで煽ってる暇があったら自分で調べろよヴォケ

188 名前:147 mailto:sage [04/07/06 17:58 ID:???]
179さん、黒死犬(魚かも)さん、187さん

アドバイスありがとうございます。

プログラムの内容は、
@入力フォームのhtmlの数値を取り込み計算
A計算結果画面のhtmlに計算結果数値を埋め込んでいく

という一般的なものなんです。
Time関数を使用している箇所を除くと表示できるのですが。。
187さんの言うとおりapacheの問題かもしれませんね。2.0.50で試してみます。
スレ違いで申し訳ありませんでした。

189 名前:nobodyさん mailto:sage [04/07/06 18:02 ID:???]
>>188

シェル上で擬似的なパラメータを渡してテストとかしないの?
>Time関数を使用している箇所を除くと表示できるのですが。。
そこまでわかっているのなら簡単なサンプルでデバッガのお世話
になるとか?



190 名前:147 mailto:sage [04/07/06 18:11 ID:???]
>>189

うっ・・おっしゃるとおりです。。
問題の部分のみで再度チェックいたします。

191 名前:nobodyさん mailto:sage [04/07/06 18:19 ID:???]
>>188
>>187はSSIのことね
CGIが出力したSSIが動くということ

>>147>>189タンの書いた通り
まずコマンドラインから実行できるかどうかチェックすべき

あとは、ヘッダを出力する前に落ちているのであれば
原始的な方法だけど、ヘッダを出力する場所を変えてみるとか
最初にヘッダを出力した場合動くかどうか

192 名前:nobodyさん mailto:sage [04/07/06 18:21 ID:???]
>>188
機種依存文字を使うなと前にも言われただろ

193 名前:nobodyさん mailto:sage [04/07/06 20:57 ID:???]
>>169
こんな暴言吐く人に回答する義理も無いわけで。
漏れはスルーしてたけど、ここの住民さんは意外と優しいのだな・・・。

194 名前:152 [04/07/07 08:18 ID:Zb/loxvw]
>>176

そうですよね・・・SSIにこだわる理由はないですね・・・
冷静に考えたらオーバーヘットもあるしSSIを出力する意味ないですよね。
素直にCでパースします。ありがとうございました。

>>俺様に暴言を吐いた有象無象ども

おめえら使えねえんだよ、アホ。
たいした知識でもねえのに出し惜しみするチンカスは一生すっこんでろボケ。

195 名前:nobodyさん mailto:age [04/07/07 09:28 ID:???]
なんだ、結局SSIで動かすことができなかったんだな(プ

196 名前:152 [04/07/07 10:55 ID:Zb/loxvw]
>>195

出来たけどお前には教えない(プ

197 名前:nobodyさん mailto:sage [04/07/07 16:01 ID:???]
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152

198 名前:nobodyさん mailto:sage [04/07/08 02:16 ID:???]
まぁ夏だからしょうがないのか・・・

199 名前:nobodyさん mailto:sage [04/07/08 04:04 ID:???]
暑さはヒトをダメにする



200 名前:nobodyさん [04/07/08 10:26 ID:073/5w7j]
そもそも今時CでCGIというのが不自然なんだから
変なのが湧いてくるのは仕方がない。

Cの入門者用に掲示板程度のサンプルを提供するのは意味があるかもしれんが
それ以上の高機能なものは大人しくperlかPHPで作ればいいんです。
CでCGIを開発出来ても誰も誉めてくれないし一銭にもならないのではないか?

          ,.. -―-- |
       ,.' ´ ``´  ̄ ``. .|
     ,. '´   ,   、   .|
   /   ,  l  i  ヽ \ .|
   / ./ /,'  !ヽ ヽ  ヽ. ヽ.|
  / / ./ l _⊥ヽ‐ヽ、'T''| |って書き込んだらC信者が何人か釣れるのカナ?
  {{ |  | レ'! ヽ\_\,,-,‐-.|
  l l l  | | |/Tハ    |::f;;}||
   !ヽN |、 | !` l:リ}     ‐'‐'.| 
      `!ヽN ヽ" `ー    .| 
      | | | `i - ..,.. '´''.|
        ! ! l,-┴/ハ   |
       ヽ N,. '´,.=El=、、/|

201 名前:nobodyさん mailto: [04/07/08 13:45 ID:???]
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152
→ 釣りを始める ←>>200(>>152)

202 名前:nobodyさん [04/07/08 19:05 ID:???]
C++っぽく・・・

bool urldecode(std::string &s){ //省略。}
struct form_pair
{
string name;
string value;
};
istream &operator >>(istream &is,form_pair &fp)
{
string s;
getline(is,s,'&');
if(is.fail() || is.bad())
return is;
string::size_type pos = s.find('=');
if(pos == string::npos)
{
fp.name = s;
fp.value = "";
}
else
{
fp.name = s.substr(0,pos);
fp.value = s.substr(pos+1,s.length()-(pos+1));
}
if(!(urldecode(fp.name) && urldecode(fp.value)))
{
is.setstate(ios::failbit);
}
return is;
}
typedef istream_iterator<form_pair> urldecode_iterator;

203 名前:nobodyさん mailto:age [04/07/08 20:14 ID:???]
( ゚д゚)ポカーン

204 名前:nobodyさん mailto:sage [04/07/08 21:03 ID:???]
このスレもうだめぽ゚・(ノД`)・゚・。

205 名前:nobodyさん mailto:sage [04/07/09 13:27 ID:???]
なんか、もう、ぬるぽだな

206 名前:nobodyさん mailto:sage [04/07/11 02:25 ID:???]
>>205
ガッ

207 名前:名無しさん@そうだ選挙に行こう [04/07/11 17:20 ID:8T5rEfNa]
puppy.cute.tc/の、
ReportBoardのCGIは何処のCGIですか?
似たCGIでもいいです。
わかる人がいたら教えてください。

208 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 17:34 ID:???]
>>207
板違い

209 名前:nobodyさん mailto:sage [04/07/18 23:47 ID:???]
保守



210 名前:C言語がイイよね? [04/07/28 23:38 ID:UZklF3eT]
CでURLエンコードするコードを考えてマス
文字列の中で2バイト文字だけ判別して
判別した文字を16進数にキャストしてやれば
出来ると思うのですが、具体的なコードが浮んできません。
ウマイコードあったら参考にさせてください。

211 名前:nobodyさん mailto:sage [04/07/29 05:58 ID:???]
>>210
ここ↓の
ttp://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/index.html
「FORMデータの処理」「漢字コードの処理」を参考にしてまつよ。
他にも検索すれば出てくると思う。

212 名前:GROAD ◆4C1MajRa36 mailto:sage [04/07/31 11:59 ID:???]
ぬるぽ

213 名前:nobodyさん mailto:sage [04/08/01 14:53 ID:???]
>>212
ガッ

214 名前:nobodyさん mailto:(・∀・) [04/08/04 20:03 ID:???]
C++( string 使いたいだけで )でCGIを組んでいましたが、
エラーログに
malformed header from script. Bad header=\x1f\x8b\b: /home/****/hoge.cgi
とでます。"Content-type: text/html; charset=EUC-JP\n"
を出力する前に何も出力関係の関数は使っていません。
マシン負荷などに関係なくでます。
だいたいは正常に動作していますが、時たま程度のエラーですが気になります。

原因が解る方が居たら、お力を御貸し願いたい。
apache1.3.27、 gcc 2.95.2.1です。

215 名前:nobodyさん mailto:sage [04/08/05 18:01 ID:???]
ヘッダ後の改行は2回だがまさか…違うよなぁ。

216 名前:nobodyさん mailto:sage [04/08/06 00:00 ID:???]
で、当然、"\x1f\x8b"が何なのかはぐぐってみたんだよな?

217 名前:nobodyさん mailto:sage [04/08/08 15:16 ID:???]
>>214 の自己レス

gzipをpopenで出力してた。
mod_gzipにしたら解決しました。

218 名前:nobodyさん mailto:sage [04/08/08 20:39 ID:???]
>>217
解決おめ

219 名前:nobodyさん mailto:sage [04/08/11 23:44 ID:???]
Fast-CGIを利用すると、更に速くなるのかな。



220 名前:nobodyさん mailto:sage [04/08/11 23:57 ID:???]
むしろ使わないとPHPとかmod_perlより遅い。

221 名前:nobodyさん [04/08/12 14:52 ID:PHf7JWmC]
(・∀・)renice!

222 名前:nobodyさん [04/08/14 15:00 ID:inflZLdK]
>>220

まじで?なんでえ?

223 名前:nobodyさん mailto:sage [04/08/14 17:15 ID:???]
プロセス起動コスト

224 名前:nobodyさん mailto:sage [04/08/14 21:20 ID:???]
modではないPerlとかRubyよりは早い
コードがへたれだとそれよりも遅い

225 名前:nobodyさん mailto:age [04/08/14 21:23 ID:???]
( ゚д゚)ポカーン

226 名前:nobodyさん mailto:sage [04/08/14 21:28 ID:???]
言語の違いにおける速さの差は線形だけど、
アルゴリズムの差は簡単に対数以上になっちゃうからね

227 名前:nobodyさん mailto:sage [04/08/14 21:41 ID:???]
回るのは遅いけど何か書くと即効でレスが返ってくるんだよなここ
見てる奴は多いのかな

228 名前:nobodyさん mailto:sage [04/08/14 21:42 ID:???]
粘着がいるだけだろ

229 名前:nobodyさん mailto:n [04/08/15 11:26 ID:???]
HPでCのCGIを使いたいのですが、
コンパイル時のコマンドは
gcc -o test.cgi test.c
でよいのでしょうか?



230 名前:nobodyさん mailto:sage [04/08/15 11:55 ID:???]
>>229
HP-UXだとccだろ。


231 名前:nobodyさん mailto:sage [04/08/15 12:15 ID:???]
>>229-230
ワラタ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<150KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef