68user's page 掲示板

Prev< No. 3692〜3705> Next  [最新発言に戻る] [過去ログ一覧]
No. 3692 # 流離のカメソらいだ〜 [E-mail] 2004/04/22 (木) 20:59:55
僕は某高専2年の電気科なんですが,C言語の授業があって学校のPCのOSがunixなんですよね〜。
Windowsで作成した文書ファイル(拡張子.c)をFDでunixに送る場合,文字化けしますよね?
それを防止する方法を教えて下さい。メールで返答していただければ幸いです。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 3693 # vm 2004/04/23 (金) 13:04:14
>>3692 流離のカメソらいだ〜
一般的にはWindowsの標準文字コードがS-JISで、UnixがEUCだからそうなります。
FDに保存する際にエディタでEUCに変換しておくか、
エディタにその機能がないかUnix上で変換かける場合は、nkfコマンドを使ってください。

No. 3694 # abc 2004/04/24 (土) 13:40:28
texの文書で、dviのファイルをpdh形式に変換したいのですが、人に聞いた
ところGhostscriptを使ってできるとのことで、早速GSを落としてみたので
すが、具体的な操作など教えてもらえれば幸です。

No. 3695 # MM 2004/04/24 (土) 20:58:16
68userさん、ありがとうございます。

>x.y.z.255 などのブロードキャスト宛に ping したいので
>あれば、-b オプションを付けなさい、ということです。

x.y.z.0もブロードキャスト宛ということになるのでしょうか?

No. 3696 # 68user 2004/04/27 (火) 23:02:52
>>3691 has
なるほど、ありがとうございます。Debian の ping は、
      Do you want to ping broadcast? Then -b
というエラーは出さないようですね。

>>3695 MM
> x.y.z.0もブロードキャスト宛ということになるのでしょうか?
x.y.z.0/255.255.255.0 はネットワークアドレスです。

ただ、BSD 系・BSD 系を元にした実装 (Solaris・Linux など) は
ネットワークアドレスに対する ping に対して返事を返します。
Windows 系はたしか返事を返さないはず (ネットワークアドレスに
対する ping だけでなく、ブロードキャストへの ping も返さない)。

だから、ネットワークアドレス宛の ping であっても、ブロード
キャスト宛の ping と同等に機能する環境もあります。

ただし ping は
      「この宛先はブロードキャストアドレスだから `Do you want to
          ping broadcast? Then -b' というメッセージを出そう」
などと判断しているわけではなく、
>>3690 68user
に書いたとおり、connect して errno が EACCES ならこのメッセージを
出力して終了しているだけです。しかしこの connect の意味がさっぱり
わからないので、「ネットワーク設定がおかしいのでは?」以上のアドバイス
はできません。

てゆーか、どなたか >>3690 の意味を教えてください。

>>3694 abc
> texの文書で、dviのファイルをpdh形式に変換したいのですが
pdh は pdf の typo ですか?

gs 付属の ps2pdf はいまいちで、今どきは dvipdfm を使うと
聞いたことがありますが、最新情報や細かなノウハウは知りません。
よって、「dvi pdf 変換」などで検索してみるか、2ch の UNIX 板
などで質問してみてはいかがでしょうか。

No. 3697 # うほほ 2004/04/27 (火) 23:05:16
はじめまして、こんばんは。
LINUX, Apache, PHP, MySQL、HTMLでのシステムを考えているのですが、
ちょっと行き詰まってしまって、、、よろしくお願いいたします。
ページがジャンプした瞬間に、あるフィールドをいきなり入力待ち状態にしたいのです。
通常はページに移動後マウスなどで入力したいフィールドを一度クリックする必要があります。
現在フィールドはフォーム<input>タグで作成しています。

カスタマーは(バーコードを使って>マウス1クリック無しで)
いきなり入力したい!というのがご要望です。

関連のページのご紹介でも何でもかまいませんので、
是非、よろしくお願いいたしますm(_ _)m

No. 3698 # 68user 2004/04/28 (水) 00:06:03
>>3697 うほほ
たとえば http://www.google.co.jp/ がその技を使っています。

ソースを見ていただければわかりますが、
    <body onload="document.hoge.fuga.focus()">
        <form name=hoge>
            <input type=text name=fuga>
        </form>
    </body>
とします。

No. 3699 # has 2004/04/28 (水) 02:45:22
>>3696 68user
>なるほど、ありがとうございます。Debian の ping は、
> Do you want to ping broadcast? Then -b
>というエラーは出さないようですね。
そーゆーことですか、了解です。ならredhat9では次の通りになりました。
% strings /bin/ping | grep Then
Do you want to ping broadcast? Then -b
%

No. 3700 # sagara [E-mail] 2004/04/28 (水) 19:15:37
ファイルをダウンロードするスクリプトを作成していますが、
ファイルサイズが大きいとファイル内容は一部しかダウンロードできません。
sysreadの戻り値$Ret_Lenは、正しい値が返ってきます。
最後のprint文で、全てを出力していません。あるいは、$INBUFに全てが
格納されてないかです。
全ての内容をダウンロードするには、どうすべきなのでしょうか?

    $size = -s $dl_file;
    open(INF, $dl_file) or &CgiError( "Error: Unable to open file $dl_file: $!\n" );
    binmode(INF);
    $Ret_Len = sysread(INF, $INBUF, $size);
    if (defined $Ret_Len) { #エラーではない
        if ($Ret_Len >0) { #読み取りの成功
            ;
        } else { #EOF
            close(INF);
        }
    } elsif ($! == EAGAIN) { #ブロックエラー
        $Ret_Len = sysread(INF, $INBUF, $size);
    } else {
        die "sysread() error: $!";
    }

    $NowMime = substr( $f_name, rindex($f_name, ".")+1, length($f_name) );
    $NowMime =~ tr/a-z/A-Z/;
    $RetMime = "";
# 2001.12.19 added by ishikawa ->
    #$mimeMach = 'dummy';
# 2001.12.19 added end ishikawa <-
    if( $NowMime ne "" ){
        if( open(CB, "./lib/mime.types") ){
            @mimein = <CB>;
            close( CB );
            foreach( @mimein ){
    if(/^[^#\n\r]/){
     s/[\t]+/\t/;
     ($MimeHead,$MimeBody) = split(/\t/);
# 2001.12.19 added by ishikawa ->
     if( defined $MimeBody ){
# 2001.12.19 added end ishikawa <-
     foreach $mimeMach ( split( /\s/, $MimeBody ) ){
     $mimeMach =~ s/\s//g;
     $mimeMach =~ tr/a-z/A-Z/;
     if( $mimeMach eq $NowMime ){
     $RetMime = $MimeHead;
     last;
     }
     }
# 2001.12.19 added by ishikawa ->
     }
# 2001.12.19 added end ishikawa <-
     if( $RetMime ne "" ){ last; }
    }
            }
        }
    }

    if( $RetMime eq "" ){
        print "Content-Type: application/octet-stream\n";
        print "Content-Disposition: inline; filename=\"$f_name\"\n\n";
    }
    else{
        print "Content-Type: $RetMime\n";
        print "Content-Disposition: inline; filename=\"$f_name\"\n\n";
    }

    binmode(STDOUT);
    print $INBUF;

No. 3701 # 68user 2004/04/28 (水) 21:50:48
>>3700 sagara
- 「ファイルサイズが大きい」とは具体的に何バイトですか?
- あるバイト数以上のファイルの場合、常にダウンロードできないのですか?
- 大きいファイルを処理するのに何秒かかりますか?
- length($INBUF) の値は?
- $INBUF の内容をファイルに出力すると、正常に出力できますか?
- 「sysreadの戻り値は正しい」というのは「正常にダウンロード
    できなかった場合でも、sysread の戻り値は正しい」ということ
    ですか?
- sysread ではなく read を使うとどうなりますか?
- OS 名・OS のバージョン・perl のバージョンは何ですか?

あと、コメント部分や関係ない箇所は極力削ってから投稿しましょう。
仕事のソースであれば特に。

No. 3702 # うほほ 2004/04/29 (木) 17:10:34
>68USER様
早々のお返事をありがとうございました。
やってみたら、ばっちりでした〜!
本当にありがとうございました♪

No. 3703 # lock 2004/05/04 (火) 09:58:30
はじめまして。よろしくお願いします。

環境:NetBSD1.5.2、Apache2.0.49

以下に示す接続が、4日くらいたっても消えません。
これは、クライアントがhttpで何かをダウンロード中の状態の1つということでしょうか?
ずっとこの状態のままなのはどういう原因が考えられますでしょうか?

Apacheのログには、このクライアントからのアクセスログは存在しませんでした。
FIN_WAIT_2の状態が終了した後で書き込まれるのでしょうか?


%netstat -an (一部抜粋)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 15964 210.*.*.*.80 133.*.*.*.15241 FIN_WAIT_1
tcp 0 16460 210.*.*.*.80 133.*.*.*.6322 FIN_WAIT_1
tcp 0 16500 210.*.*.*.80 133.*.*.*.19339 FIN_WAIT_1

No. 3704 # 68user 2004/05/04 (火) 19:45:56
>>3703 lock
サーバ側から close すると (正確にはアクティブクローズ
すると) FIN_WAIT_1 になります。普通はこの後にクライアント
から ACK・FIN が帰ってきて FIN_WAIT_2 に遷移しますが、
この辺がうまくいっていないものだと思われます。

> ずっとこの状態のままなのはどういう原因が考えられますでしょうか?
わかりません。普通は FIN_WAIT_1 のままにならないように
タイマか何かがあると思いますが、FIN_WAIT_1 タイマって
存在するのかな? (FIN_WAIT_2 タイマはあるけど)

> FIN_WAIT_2の状態が終了した後で書き込まれるのでしょうか?
これまたわかりません。apache のソースを読みましたが、どこで
ログを吐いてるのかすらわかりませんでした。

とまぁ何の役にも立たない回答になってしまいましたが、
数日様子を見てはいかがでしょうかね。

No. 3705 # hash 2004/05/04 (火) 23:12:07
数日前、FreeBSD 5.2Rをインストールしたのですが、起動時(ログイン前)に

Configuring syscons: keymap blanktime

と表示され、長時間とまってしまって困っています。
その後ログインプロンプトが表示され、ログイン可能ですし、
その他の操作に問題も無い感じなのですが、毎度の事なので釈然としません。

解決方法は無いものでしょうか?それともこういうものなんのでしょうか?
よろしくお願いいたします。

Prev< No. 3692〜3705> Next  [最新発言に戻る] [過去ログ一覧]