***すれ立てるまでもない質問はここで 第38刷***
char a[てきとう];
strcpy(a,argv[2],strlen(argv[2]));
953 :
デフォルトの名無しさん:03/06/17 23:09
954 :
デフォルトの名無しさん:03/06/17 23:09
久しぶりにcかいたので間違えますた
>>951 -
>>955 ありがとうございます!
#include <string.h>
するんでしたっけ。ともかく、そこら辺の関数を調べてみます。
c言語全然分かってないのに使えと言われたのですが、
助かりました。
>>952 argv[2]の長さ分コピー?それならstrcpy使えよ。しかも
>>952の例では末尾に'\0'が付加されないし。
char a[てきとう];
strcpy(a, argv[2]);
でできました。
もうひとつ疑問があるのですが、
int an;
an = strlen(argv[2]);
char a[an];
とすると、Segmentation errorがでるのですが何ででしょうか?
おまえJavaerだろ
>>958 本当にC言語?
Seg・・・以前にコンパイルできないはずだけど
できるコンパイラもあるけど警告されるね
>>961 そうなの?
やっぱりCならブロックの先頭で(ry
あとC99より前の規格では配列大きさ指定には定数しか使えないよね。
Javaは全然知りませんよ。
数学科でこんぷたの授業は無視してたのですが、
たまたまとった授業でわけわかんない課題を出されました。最悪です。
コンパイルはGCCではできてますよ。
実行すると
segmentation fault (core dumped)
と表示されますが。
>>963 コマンドライン引数の数が足りないんだろ。
少なくとも二つは必要。
>>964 2つどころか3つ入れても無理ですた・・
>>963 gccでパースエラーになったけど・・・・
バージョン(2.95.3)が古いのかもしれないけど
>>965 じゃあちゃんとint main(int argc,char *argv[])とやっているか?(argvはchar **argvでもよい)
とりあえず配列宣言に変数は止めれ
int an;
char a[1000];
とでもしとけ。
>>958しか見ていなかったから気づかなかったけど、そのあとstrcpyしていないか?
それなら確保する量はstrlen(argv[2])+1だぞ。
int main(int argc, char *argv[]){
やってます。gccは今日インストールしました。
お願いします、オブジェクト指向で言うところの委譲を
分かりやすく教えてください。。他のクラスに処理を依頼??と聞いてもさっぱりです
>>968 定数にしたら大丈夫でした。
ありがとう。
>>970 char a[strlen(argv[2])+1];
もだめですた。
gccならchar *p=strdup(argv[2]);でいけるかも。
領域を確保できるとは限らないし、freeで解放してやる必要があるけど。
>>976 >char *p=strdup(argv[2]);
は、私の理解を超えています。よく分かりませんでした。
とりあえずはうまくいってるので良かったです。
皆さんありがとう!!!
strdup(argv[2]);
はメモリ確保とコピーを一緒にしてくれる。
ただしメモリ解放しないといけない
string duplicateの略
ポスペみたいなソフトをつくれる言語を教えてください。
新スレ立ててくる
HSP
>972
非公開のメンバ変数にオブジェクトを保持しておけばオッケー
あとはメンバ関数を公開する。
処理は保持したオブジェクトにやらせる。
乙
>>979 グラフィックとソケット通信ができれば何でもOKだろ
VBでもパスカルでも
C(とライブラリ)でもJavaでも
987 :
デフォルトの名無しさん:03/06/18 14:29
なんで、すれ立てるまでもない質問なのに、すれが立つのか不思議だ(w
ばか?
ヴぁか
990 :
デフォルトの名無しさん:03/06/18 16:53
PC用語のアプリケーション、ソフトウェア、プログラム(50音順)の違いを教えてください。
ちなみにコントロールパネルにはプログラムの追加と削除という項目があります。
あと、「ツール」も
こっち終わってたスレなんですね
新しい方に書き直します
とりあえず埋めようか
埋め埋め
腹へったな
新スレに移行埋め
そろそろ1000の予感
埋め
1000は譲ってやる・・!
あと少しあと少しあと少し
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。