C言語CGI専用スレッド
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/04(金) 04:31ID:???PERL-CGI の情報はどこでも手に入りますけど
C-CGI の情報は少ないです。
C言語のCGIに関することはここに書きましょう。
スクリプトを検索できるサイトです。
http://script.lovely.to/search/home_script_c.html
http://cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/
http://www.cgifiles.com/scripts/cc++/index.shtml
前スレ
http://tako.2ch.net/test/read.cgi?bbs=perl&key=971762830
0364山崎 渉
03/07/15 11:07ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0365みきポン
03/07/16 11:41ID:eO5RiK8mみきポン日記CGIを作りたいのね♪
月単位で過去ログをわけて、画面の下の方に半年分、
ログファイルが存在する月だけログファイルへリンクはりたいの!
どうやって調べたらいいのぉ〜?(´・∀・`)アハハ
_stat()?
0368nobodyさん
03/07/16 16:47ID:???#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int stat(const char *file_name, struct stat *buf);
0369nobodyさん
03/07/16 22:46ID:???ファイルをfopenで開いてみる。モードは"r"で。
FILE *fp;
if((fp=fopen(file,"r"))==NULL){
perror("file");
return 1;
}
fclose(fp);
0370みきポン
03/07/16 23:04ID:???あれ?MSDNだと_stat()ですけどstat()と同じものなの?
そうそう、みなさん最終的にはLinuxやFreeBSDなどUNIX系OSのサーバーにUPしますけど
動作確認はWindowsの自分のマシン上で確認してるの?
それとも、CGIを作るにはLinuxマシンを用意した方がいいかなぁ?
なんか今さっき気が付いたのですが、Windows系のみUnix系のみの関数がありますね。。
やっぱりUNIX固有の便利な関数が多いからLinuxマシンでもないと無理なのかなぁ(;;
>>369
もしファイルが存在したら開いちゃうけど、ファイルI/O系って遅くない?
遅い順にDB接続>ファイルI/O>変数の代入で遅い方ほど回数少なくしてって習ったんだけど。。
0371nobodyさん
03/07/16 23:14ID:???0372みきポン
03/07/17 08:03ID:???0373nobodyさん
03/07/20 18:37ID:Q2qUuQyi0375nobodyさん
03/07/21 01:16ID:ycV7HkUx0376nobodyさん
03/07/21 01:30ID:???あんま、CでのCGIって知らないんだけど
Cで作ったCGIのソースってどうするの?鯖上でコンパイル?だよね?
VCだとUnix系のソースと互換性がない部分があるからLinuxマシン用意するか
Windowsで確認したいならソースで互換性が取れるMingwとか入れた方がいいよ
↓ここの MinGW-3.0.0-rc3.exe。
http://sourceforge.net/project/showfiles.php?group_id=2435&release_id=90000
コンパイルはコマンドラインだけど
あとファイル存在チェックで fopen は遅いね access か stat がいい。
0377376
03/07/21 01:34ID:???あ、fopen は遅いとか書いちゃったけどなんか書いてあった。
処理しなければI/O行わないんだ。知らんかった。
でも、ファイルハンドル用のメモリ確保とかしてるよね
まあ、些細なことか
0378nobodyさん
03/07/21 03:02ID:???0380376
03/07/21 12:42ID:???そんな細かいこと指摘されても...
>>379
うわぁ >>310 見たときはアホか。とか思ったけど
ほんとにできるんだ。すげぇ。ありがとう。
http://www.sixnine.net/cygwin/cygwin-doc/devel/cygwin-to-linux-cross-howto.html
0382nobodyさん
03/07/21 21:39ID:ycV7HkUxVCからさっさと乗り換えるべ
0383nobodyさん
03/07/21 21:39ID:???0384あぼーん
NGNG0385あぼーん
NGNG0386nobodyさん
03/07/21 22:11ID:???0387nobodyさん
03/07/22 00:45ID:???DMと同じくネットのリソースをムダに食いつぶすだけの存在で規制かけて欲しい
0388nobodyさん
03/07/22 06:40ID:???また訳の分からんことを言う。
まぁ、Webプログラマ風情じゃこんなもんか。
0389nobodyさん
03/07/23 13:51ID:???ユーザの入力文字数をどうやって制限するんですか。
0390nobodyさん
03/07/23 16:16ID:???質問の意図がよく分からない。
ユーザが入力する文字数を制限することはできないが、受け取る文字数の制限ならfgetsやstrncpyでできるだろ。
それとも入力された文字数を知りたいのか?それならPOST時は環境変数CONTENT_LENGTHを参照すればわかる。
0391nobodyさん
03/07/23 16:46ID:???いや、Cは、ほんとの初心者なもので、受け取る文字数の制限が
fgetsやstrncpyでできることもよく分かってなかったんです。
そうか、できるんですね。夏厨、ごめんなさーい。
0395nobodyさん
03/07/23 23:01ID:KwmZHKax(たとえば行数をしらべたいファイルtest.datだとするとどうすればいいでしょうか?)
0396あぼーん
NGNG0397nobodyさん
03/07/23 23:40ID:HKrDQto90398nobodyさん
03/07/24 00:40ID:???ファイルを全部読み取って一文字一文字 \n がないか調べる
ソース
int linecount( char* (以下省略
>>397
各社で提供されているDBアクセスライブラリを使うことになる。
DBIみたいにMySQLもOracleもMSSQLでも共通っていうライブラリはないね
あんま、よくしらんからあるかもしれんが
0399nobodyさん
03/07/24 03:35ID:???388じゃないけれど、ものすごく違和感がある。まあ同じく言いたいことは分かるが。
わざわざ387のようなことを書くことも無駄だと言えるな。
>>395
行数をどう数えるか定義しないとな。文字が全くない場合はどうするのか、末尾が改行の場合と改行でない場合それぞれをどう数えるか。
0400nobodyさん
03/07/24 06:49ID:???1行が可変長だとこういう場合もやっぱりfscanfなんかでグルグル回して
目的の行に移動しなきゃいけないんですかね?
なんかファイルサイズが大きいと読み込みながら探すって処理が
凄く時間かかりそうで、読み込まずに何行目ってシークする方法ないでしょうか。
CGIみたいな同じプログラムを同時に複数の人が使う場合
注意しなくてはいけない点など何か有りますか?
なんとなく今疑問に思ってるのがファイル名が決まっていると
同時に複数の人がファイル操作の時、衝突が起こるのではと思ってるのですが
こういうのを再現というかテストする場合どのようにするればよろしいのでしょうか。。
2台のマシンから、いっせーのっで!ってアクセスするんですか?
その程度でもやっぱり同じタイミングだと衝突って起こるのものなのですか?
0401395
03/07/24 15:58ID:CbPhxA3z0402nobodyさん
03/07/24 16:04ID:YlVsb0iThttp://www.39001.com/cgi-bin/cpc/welcome.cgi?id=ookazujp
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000002&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000003&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000017&pid=p000000244
http://www.adultshoping.com/index.cgi?id=1057809839
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000008&pid=p000000244
!!!!! ━━━━━━(゚∀゚)b━━━━━━ グッジョブ!!!!!
0403nobodyさん
03/07/24 16:05ID:82g81umjhttp://www3.free-city.net/home/espresso/princess/peach.html
☆綺麗なおしりときれいなおっぱいがたくさん!
http://www3.free-city.net/home/espresso/bigapple/queen.html
0404nobodyさん
03/07/24 16:10ID:V/WD+Kmmhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0405_
03/07/24 16:22ID:???0406_
03/07/24 16:23ID:???0407nobodyさん
03/07/24 16:35ID:???lockf()系が動かないです。。ショボンヌ
0409nobodyさん
03/07/25 01:06ID:???上の段は>>408が答えてくれたので下の段の質問を担当
いっせーの!は仕事でもよくやります。衝突起こります。
ただ、ファイル操作っていうのが「読み込みだけ」ならいくら衝突しても問題なし。
書き込みするのであれば、flockだかlockfだかの関数を使用して制御しなくてはなりません
>>407
結構動かないもの一杯あるよ
Windows API とか C++ 標準のクラスとか。バージョンうpを待つか、あきらめて下さい。
0410nobodyさん
03/07/25 01:27ID:???MinGW+MSYSは、これはこれでチョロっとUnix操作の練習には良いですね。
勉強のためにもlinux入れようかなぁ。
0411nobodyさん
03/07/25 01:37ID:???cygwin の GCC ならUnix関係は全部動いたはず...。
でも cygwin って漏れ的になんか嫌なんだよなぁ
一番いいのはやはり Linux 入れるのがよろしいかと思われます
0412nobodyさん
03/07/25 01:46ID:???0413nobodyさん
03/07/25 02:18ID:???0415nobodyさん
03/07/25 20:51ID:Dg8fdiO+って書いてあったけど、それでCGIはちゃんと動くんですか?
0416nobodyさん
03/07/25 22:06ID:xb80qzcaあんまり詳しいことは知らんが、OSが同じ環境でコンパイルしてたら
動くんじゃないんですか?
自分のWindows環境で作ったプログラムが他人のWindows上で動かせるのと
同様に・・・。
0418nobodyさん
03/07/25 22:10ID:xb80qzcaトクトクのOSってなんでしたっけ?
知ってたら教えてください。
0419nobodyさん
03/07/25 22:25ID:???確か赤帽。
0420418
03/07/25 22:34ID:xb80qzcaThanks. Led Hat Linuxですな。
0422418
03/07/25 23:04ID:xb80qzca0423nobodyさん
03/07/26 01:23ID:???0424nobodyさん
03/07/26 01:29ID:???0425nobodyさん
03/07/26 01:32ID:8P2qcw+E0426nobodyさん
03/07/26 01:36ID:???0427nobodyさん
03/07/26 02:01ID:???LED Hatって青とか赤とか7色に光りそうだよね。しかもシルクハット。おしゃれ付け髭付き。
>>422
( ´_ゝ`)
スクリプト言語とかJavaバイナリならどこでも使えるよ!
つーかさ、正直CはCGIに適してねえだろ・・・。
まあ、おもしろいけどさぁ
0428nobodyさん
03/07/26 07:32ID:???>スクリプト言語とかJavaバイナリならどこでも使えるよ!
Perlですらflock問題とかあるけどな。
>つーかさ、正直CはCGIに適してねえだろ・・・。
CGIは掲示板を作るだけの物じゃないぞ。
0429424
03/07/26 12:50ID:???fcntl()呼ぶように書いちゃった^^;
無ければ作ればいいだけだったんだ。。おさわがせしましたー
0430418
03/07/26 19:17ID:J4DAnaOuそれともtelnet.cgiですかね?
0432nobodyさん
03/07/26 19:19ID:H0wl0HD5▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
開店セール1枚 500円より→→→http://www.dvd-exp.com
最短でご注文いただいた翌日にお届け!→→→http://www.dvd-exp.com
セルビデオ店の人気商品が24時間お買い物が出来ます。
見やすい画面・注文簡単・時間をかけてゆっくり選んでください!
http://www.dvd-exp.com←へGO!
0433コヨーテ
03/07/26 20:52ID:2kRK0hKL0434nobodyさん
03/07/27 00:38ID:???嘘教えるな。
>430
XREAスレで聞いた方がいい。
コンパイラ開放は一応宣言されているが、後から撤回されたかもしれない。
とりあえずtelnet.cgi使うのはやめれ。
使うならせめてSSH使え。
0435nobodyさん
03/07/27 05:09ID:???現在SSHからgccを呼べるなら方法を教えてほしいものだ(禁止事項だがな)。
0436435
03/07/27 05:10ID:???0437435
03/07/27 05:31ID:???gcc -c -o hello.o hello.c
ld -lc -e main -o hello.cgi hello.o
0438435
03/07/27 06:07ID:???CGIからgccを呼んだ方が楽だと思うんだけどなぁ。
0439nobodyさん
03/07/27 06:37ID:???0440nobodyさん
03/07/27 06:48ID:???gcc -B/usr/bin -o hello.cgi hello.c
>>430
gccを使うときに必ず-B/usr/binをつければいいみたい。
0441nobodyさん
03/07/27 09:52ID:???>現在SSHからgccを呼べるなら方法を教えてほしいものだ(禁止事項だがな)。
telnet.cgiも忌み嫌われてるけどな。
0442418
03/07/27 10:58ID:TT/DkuOWセキュリティホールつくんなボケ!と一喝入れられました。
むしrPOSTで送られてきた文字列の長さを検査する方法を教えてください。
0445nobodyさん
03/07/27 11:09ID:ovF07x1A彡彡彡
ミミミミ クリトリスhttp://link.iclub.to/adalt/
ミミミミ / ̄ ̄ ̄ ̄
ノ σ ヽ 尿道 http://link.iclub.to/amazon/
/ / ゜ヽ ̄ ̄ ̄ ̄
大陰唇 / //\\ \
 ̄ ̄ ̄ ̄ ( ( 膣 ) ── 小陰唇 http://link.iclub.to/docomo/
\ \\// /
` \/ '
\ *──肛門 http://www.yahoo2003.com/f-set.html
\_____/\_____/
0446nobodyさん
03/07/27 12:38ID:???0448nobodyさん
03/07/29 18:42ID:???0449nobodyさん
03/07/29 19:30ID:???既存のファイルに新しい名前を与える。以前の名前と同じファイルに同じようにアクセスできる。
シンボリックリンクを作りたかったらsymlinkを使う。これならリンク先が違うファイルシステム上にあってもOK。
0450nobodyさん
03/07/29 22:42ID:???AってファイルにBって別名を付けて
AでもBでも同一のファイルにアクセスできるようになるの?
どういう時に使うんだろ。。。
0451nobodyさん
03/07/29 22:51ID:???Winのショートカットみたいに。
でも普通はハードリンクではなくショートカットによく似ているシンボリックリンクを使うと思う。
まあハードリンクならリンクだけあって実体がないなんてことにはならないけど。
0452nobodyさん
03/07/29 22:59ID:???0453nobodyさん
03/07/30 02:13ID:???0455nobodyさん
03/07/30 10:51ID:???0456nobodyさん
03/07/30 11:22ID:???は?なんで?
aというファイルにbという名前(できれば違うディレクトリに)をつけておけば誤ってrm aとしてしまってもbが残っているからファイルの実体は消えないだろ。
0459nobodyさん
03/07/30 22:43ID:???0460山崎 渉
03/08/02 02:22ID:???( ^^ )< ぬるぽ(^^)
0461ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:51ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0462nobodyさん
03/08/03 20:16ID:bFsfY9id■ このスレッドは過去ログ倉庫に格納されています