ヘタレ&初心者 専用

このエントリーをはてなブックマークに追加
77デフォルトの名無しさん
シェルの作成についての課題なのですが、

MyshellはCshellと違って、Cで実行できていたコマンドや機能のうち
働かないものがある。これらを調べ、どのような機能が実行できないか、
なぜできないか、どのような機能を追加すればいいか?

例えば次のが実行できない

エイリアス、ヒストリー、ワイルドカード、ファイルへのリダイレクト、
shellプログラミング、ディレクトリー操作(popd、pushdなど)

これらから4つほど(エイリアス、ヒストリーは必須)をmyshellに追加せよ。

という課題です。助けてください、お願いします。できればソースを、、。




>>77
まるち
7977:02/05/06 00:14
myshellです

#include<stdio.h>
#define MAXARGS 10 /* 許されるコマンドの引数の最大の数 */
#define LINELENGTH 80 /* コマンドラインの最大文字数 */
#define CONTINUE 1
#define EXITCOM 0

main(int argc,char* argv[])
{
char linebuf[LINELENGTH];
int hist;

for(hist=1; ;hist++){
printf("myshell[%d] ",hist);

    gets(linebuf);
  
if(exec_one_command(linebuf)==EXITCOM) break;
}
}
char *skipspace(char* s)
{
while(*s==' ') s++;

return s;
}
8077:02/05/06 00:16
続きです

int getcl(char* line,char* argmv[])
{
int argnum=0;

do{
line=skipspace(line);
if(*line=='\0'){
argmv[argnum]=NULL;
return argnum;
}
argmv[argnum++]=line;
while(*line!='\0' && *line!=' ') line++;
if(*line=='\0'){
argmv[argnum]=NULL; return argnum;
}
*line='\0'; line++;
}while(1);
}

int exec_one_command(char linebuf[])
{
int argnum, status;
char *argmv[MAXARGS];

argnum=getcl(linebuf,argmv);
if(argnum==0) return CONTINUE;

if(strcmp(argmv[0],"exit")==0){
return EXITCOM;
}
if(fork()==0){
execvp(argmv[0],argmv);
printf("Error at execvp\n");
exit();
}
wait(&status);
return CONTINUE;
}
2ch内の1カテゴリの板にマルチしてる奴,初めて見た…。
ヘタレよりイッテヨシって感じ?
>>81
俺は逆だな。
別の板にマルチされてもきづかんよ
83デフォルトの名無しさん:02/05/06 00:50
課題ってのはな!
誰にも聞かず自分の力の範囲内で解けるように出すものなんだよ!
誰かにきかなきゃできないような課題出すのはその狂死のアタマがおかしいんだよ!
5分考えてできなかったら
「できませんでした!」
って白紙で提出しろ!!
その方が人生を無駄にしないですむぞ!!
7分くらいは考えれ。
>>83
その通りだ。良いこと言った。
線香曰く
「5分考えて出来なかったら5時間考えろ」
>>83
課題というのは調べる能力をつけるためのものだよ。
問題を把握し、必要な情報を探し、取捨選択して、適用する。
この一連の作業で問題解決能力を鍛える。

77 のように最初の問題把握で躓いていると、
その後の 「必要な情報」 や 「適用方法(実際のソースなど)」
を教えてあげてもまず理解できない。
問題解決法

1.人に聞く

を取った>>77は問題外ですか。
89デフォルトの名無しさん:02/05/06 08:53
>>77は自分の時間を節約するために
他人の時間を消費しようとしてるんじゃないかな。
ヘタレとしては正しい態度だと思うけど。
90デフォルトの名無しさん:02/05/06 09:46
9190:02/05/06 09:55
92デフォルトの名無しさん:02/05/06 15:53
こんにちわ。八方塞なんでここの知識ある方に質問させてください。

インターネットエクスプローラーを開くと、
必ず「このプログラムは不正な処理を・・・」と
出てしまいます。通常のようなフリーズしたり
青い画面になったりするわけでもなく、OKを押すと
エクスプローラーが終了してしまうのです。
これはどういった原因が考えられるでしょうか?
対処法もわかれば合わせてお願いします。

Windowsを再インストゥールしませう。
板違いの質問が増えてきたな。

>>92
Windows 板にいけ。
ここは*ソフトの使い方*ではなくて、*ソフトの作り方*を話す板だ。

誰かがモノ凄い勢いで質問に答えるスレ Part20
http://pc.2ch.net/test/read.cgi/win/1020329959/
95こんなに濡れてるよ:02/05/06 18:24
2chの書き込みのIDからIPを抜くプログラムを教えてください。
>>95
だから不可逆だと何回言ったら(略
97こんなに濡れてるよ:02/05/06 18:24
言語はジャヴァでお願いします。
98こんなに濡れてるよ:02/05/06 18:26
では不可逆を可逆にするプログラムまたは
IPからIDに変換するアルゴリズムを教えてください。
99こんなに濡れてるよ:02/05/06 18:26
トリップのやつもお願います。
100
101尿素:02/05/06 18:30
書ボーン
102デフォルトの名無しさん:02/05/06 19:11
C言語のソースをダウンロードできるページってありますか?
ソフトをダウンロードしたら一緒についてたりしますが、
まとめて置いてあると見やすいので。
>>102
www.google.co.jpで「ソース」に「#include」とかいろいろ付け足して検索すると結構出てくるよ。
>>98
>では不可逆を可逆にするプログラムまたは
ない

>IPからIDに変換するアルゴリズムを教えてください。
マァヴに訊いてこい
>>102
C 言語のソースというのは C 処理系のソースのことか?
それとも C で書かれたソフトウェアのソースのことか?
おそらく後者だろうが。

sourceforge に沢山あるので興味深そうなのを選んで読むと良い。
Software Map
http://sourceforge.net/softwaremap/
Browse by C
http://sourceforge.net/softwaremap/trove_list.php?form_cat=164
106デフォルトの名無しさん:02/05/06 20:39
C言語とC++ってどう違うんですかね・・?
今から勉強し始めるとすれば、どっちをやった方がいいのでしょうか?
107デフォルトの名無しさん:02/05/06 20:40
>>106
C++に決まっているだろ。
>>106
C#
>>106
Cからやったほうがイイヨ。
その様子だとプログラミング初めてっぽいしね。
C++始めるとなるとよほどの根性と時間が必要
C ハンバーグ
C++ ハンバーガー

さらに言えば
VC++ ハンバーガー製造機
C# 最近のハンバーガー

C++はCを含む、が、使い方はぜんぜん違う。
本を買えとは言ない。興味があるなら立ち読みをしてみよう。
ObjectiveCすれ。
>>106
C から始めるのを薦める。
基本情報の試験勉強も同時にやると尚良い。

が、もし手っ取り早く GUI アプリを作りたいのであれば
VB や Delphi の*使い方*を勉強するのがいいだろう。
113デフォルトの名無しさん:02/05/06 21:32
C+と言うのは知る人は少ないですが、
CとC++の中間に作られた言語です。
Cとの違いがそんなに無いので使用する者が少なく、
知っている人が殆どいません。
C#と言うのは(厨房のなかでは)知る人は少ないですが、
C++をさらに++したつもりの言語です。
Javaとの違いがそんなに無いので(いまのところ)使用する者が少なく、
知っている人が殆どいません。
>>110
あんた神!ストローソトロウプとかいう人の本より分かりやすいよ!
116102:02/05/06 22:03
>>103,105
どうも、ありがとう。
>>115
ストラウストラップじゃないの?
>>114
違うぞ、それ。

C++ = C + 1
C# = C + 0.5

控えめなお名前です。
ヘタレなので、会社へ行きたくないなぁ。
ヘタレでなくとも連休明けは行きたくないハズ、、、と思いたいなぁ。
>>118

++
++ = #
連休明けなので、そろそろ一旦家に帰ります。
122デフォルトの名無しさん:02/05/07 20:55
#=ザブ(グラディウスの雑魚敵)
なのでC#はシーザブです。
>>122
あ〜〜〜、またこの話題かよ。ゲーム板にでも行ってろ。
rougeでは階段だったっけか?
C++♭
>>125
なんかそれc:\windows\..\program files\の様なまどろっこしさを感じる・・・。
>>126
おまえは\Windowsの下にProgram Filesを作るのか
>>124
通路
>>127
よぉぉくながめてみてごら〜ん、ほぉら〜。
>>127
なんかそれc:\windows\     ..      \program files\の様なまどろっこしさを感じる・・・。
>>130
理解。
表示しきれない分省略したのかとオモタヨ
132デフォルトの名無しさん:02/05/09 10:53
初心者あげ!
133デフォルトの名無しさん:02/05/09 12:05
c:\.\.\windows\.\.\..\progqam file\
…無駄無駄な日に万歳にゅ
test
test
tset
137デフォルトの名無しさん:02/06/18 12:22
モンキー!
138 :02/06/21 21:59
未だにVB.NETがインストール
出来ないでいるオレ!!
鬱だ・・・
139 :02/06/22 00:46
.NETか・・・ かなり必要スペック高いんだよね。
来年新しいPC買って、それからだなぁ
140138:02/06/23 23:54
オイラもそうしよ!
ヌルイ!
142デフォルトの名無しさん:02/06/24 11:53
ゴミ箱を整理してたらBLFTE4121-0111C.dmlというファイルが
入っていたのですが、これは何ですか?
削除しても大丈夫でしょうか?
板違いなら、どこで訊いたらいいのか教えてください。
143デフォルトの名無しさん:02/06/24 12:24
>>142
たぶんOutlookExpressのメールじゃん。
>142
いったんごみ箱から戻せばいいじゃん。
145デフォルトの名無しさん:02/06/24 13:54
142です。
デスクトップに出して、いろんなアプリケーションで開けようとしたので、
何が何だかわからなくなってしまいました。でも今webで検索していたら、
ルーターのファームウェアだということを偶然発見!おさわがせしました。
146ウンコ:02/06/24 16:27
メモ帳の作り方教えてください。
裏の白い新聞広告を16等分してステープル汁!
MSDNからソースを持ってきてnmakeとかVSで開いてビルド
149名無しさん@Emacs:02/06/26 13:12
Javaの継承について質問です。

親インスタンスに子供インスタンスを割り当てて、インスタンスの変数、メソッ
ドを参照すると、変数は親、メソッドは子供が使用されます。これってこうい
う仕様なのでしょうか?


class Parent {
public int i = 11;

public void echo() {
System.out.println("P");
}
}

class Child extends Parent {
public int i = 22;

public void echo() {
System.out.println("C");
}
}

class Test {
public static void main(String args[]) {

Parent p = new Child(); \\ Parent object <- Child

System.out.println("p.i = " + p.i);
p.echo();
}
}

結果
$ javac Test.java
$ java Test
p.i = 11
C
$
150デフォルトの名無しさん:02/06/26 13:20
>>149
ベースクラス(君の言う親インスタンス)の型の変数を通して
メンバー i を呼ぶと、実体がサブクラス(君の言う子インスタンス)でも
サブクラスのインスタンス内のベースクラスのインスタンス部分のiが呼び出される。

メソッドはサブクラスがオーバーライドしているので
そちらが使われる。

言ってみれば↑のソースだと
Child の i は隠されてしまっている状態。
151名無しさん@Emacs
>>150
ありがとうございます!