|
はじめまして、かんじゃと申します。 こちらのホームページで 「UNIXネットワークベストプログラミング入門」技術評論社 が紹介されています。 じつは小生もこの本のプログラムを 実行してみたのですが seg fault のメッセージが表示され てうまく実行できません。 >文字列リテラルを書き換えており、 FreeBSDで >実行するとコアダンプしてしまった(どちらもC >言語中級者なら 自分で問題箇所を修正できるレベル)。 というコメントが書かれておりましたが、具体的にはどういった ことが問題なのでしょう? よろしければご教示、お願いします。 |
|
はじめまして、かんじゃと申します。 こちらのホームページで 「UNIXネットワークベストプログラミング入門」技術評論社 が紹介されています。 じつは小生もこの本のプログラムを 実行してみたのですが seg fault のメッセージが表示され てうまく実行できません。 >文字列リテラルを書き換えており、 FreeBSDで >実行するとコアダンプしてしまった(どちらもC >言語中級者なら 自分で問題箇所を修正できるレベル)。 というコメントが書かれておりましたが、具体的にはどういった ことが問題なのでしょう? よろしければご教示、お願いします。 |
|
メールアドレスの記入ミスで同じ内容のものを2度書き込んで しまいました。 申し訳ありません。 |
|
> 502 SITE command not implemented. FTPでのパーミッションの変更は、SITEコマンドを使用するんですが、 相手側のFTPサーバにはSITEコマンドが実装されていないので、 できない、ってことです。telnetでログインしてchmodするか、 管理者に頼んでまともなFTPサーバに置き換えてもらうしかないです。 > seg fault のメッセージが表示されてうまく実行できません。 現在、手元には その本もUNIX環境もないので、確かなことは 言えませんが、どこかで char *buf="abc" などと初期化して いる部分があると思います。で、それを buf[0]='X' などと 変更していますが、そこで落ちるはずです。"abc" は文字列 リテラルなので変更することはできないから(変更できる 環境もありますが)。なので、char buf[]="abc" などと書き 換えれば動いたと思います。 *buf="abc" と buf[]="abc" の違いについては、ネット上に 落ちてる「C言語FAQ」に詳しく書いてあります。 |