- 1 名前:デフォルトの名無しさん [2006/05/04(木) 08:53:09 ]
- 入門者向けの俺に聞けスレです。
なんでもきいてよね
- 968 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 07:27:35 ]
- #include <stdio.h>
/* 入力される文字をカウント;第1版 */ main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf("%ld\n", nc); }
- 969 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 08:29:16 ]
- 入力を終了しないからいつまで経っても表示されないだけに一票。
- 970 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 09:21:38 ]
- でもこっちはちゃんとできるんですよ。
#include <stdio.h> /* 入力された文字を複写;第2版 */ main() { int c; while((c = getchar()) != EOF) putchar(c); }
- 971 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 10:54:10 ]
- いやだから・・・。
- 972 名前:デフォルトの名無しさん [2006/07/21(金) 11:50:37 ]
- ST.c: 関数 `function2' 内:
FLIST.c:75: 警告: 引数 2 個の `strcat' を渡しますにより、キャストなしで整数からポインタを作りました :wq! 上記の警告がでました。問題の75行目 strcatは以下です。 strcat(strLine,ctime( &buf.st_mtime ));/*警告箇所*/ st_mtimeはファイル情報を取得する処理【stat関数】のメンバでbufの変数定義は struct stat buf;、strLine変数はchar strLine[255];としております。 警告を回避するキャストの方法を教えてください。環境はLinux redhatです。
- 973 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 12:24:15 ]
- >>972
#include <time.h> してないってことはない?
- 974 名前:デフォルトの名無しさん [2006/07/21(金) 12:40:43 ]
- レスありがとうございました。インクルード記述はあります。
プラットホームをUnixからlinuxに移した際に リコンパイルで警告がでました。
- 975 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 13:04:56 ]
- >>974
その周辺ロジックだけのプログラム作っても再現する? こちらでは問題ないのだが。 以下、テストコード。 -- #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> int main(int argc, char ** argv) { char strLine[255]; sprintf(strLine, "%s:", argv[1]); struct stat buf; stat(argv[1], & buf); strcat(strLine,ctime(&buf.st_mtime)); puts(strLine); return 0; }
- 976 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 13:32:38 ]
- >>968
それは何か入力後に EOF を渡す必要がある。 これは Cygwin だとどうなっているのか分からないが、 UNIX 系 OS だとデフォルトでは Ctrl+D でできるのが 普通だ。Windows のコマンドプロンプトや MS-DOS プロンプトでは Ctrl+Z だ。どちらかを入力してみれば できるんじゃないだろうか。
- 977 名前:968 mailto:sage [2006/07/21(金) 15:13:46 ]
- >>976
ありがとうございます。Ctrl+Zで出来ました。
- 978 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 15:18:18 ]
- 結局>969じゃん。
- 979 名前:968 mailto:sage [2006/07/21(金) 16:38:45 ]
- 間違えました。Ctrl+Dでした。
>>978 入力を終了しなくても出来そうだな、とか 馬鹿な考えを起こしていたもので...m(_ _)m
- 980 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 14:43:42 ]
- > 賢いコンパイラにとって、それらはどちらも同じと解釈されるから
while(1) だと警告がでる for(;;) だとでない
- 981 名前:デフォルトの名無しさん [2006/07/23(日) 12:03:52 ]
- プロトタイプ宣言のない関数’printf'の呼び出し(関数main)
という警告文が出るけどなに?
- 982 名前:デフォルトの名無しさん [2006/07/23(日) 12:07:13 ]
- >>981
#include <stdio.h>がないとか printfがpirntfになってたりとかじゃないかな?
- 983 名前:981 [2006/07/23(日) 12:10:28 ]
- >>982
その辺は確認しているのだけど そのへんが問題なのかな?
- 984 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 12:33:16 ]
- こういう場合、ソースを貼り付けたら一発で分かったりすることも多い。
- 985 名前:981 [2006/07/23(日) 12:46:51 ]
- #include <sudio.h>
int main( ) { int n=500+ 150; printf("%d", n); return 0; } こんな感じなんだけど諸兄の 意見はいかがですかね?
- 986 名前:デフォルトの名無しさん [2006/07/23(日) 12:48:02 ]
- int a;
char s[3] = "FF" ↓ a == 255 みたいなイメージで、文字データとして16進の形でcharの配列に入ってるものをint形の変数に代入する方法ってない?
- 987 名前:デフォルトの名無しさん [2006/07/23(日) 12:48:41 ]
- 1はツンデレ
- 988 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 12:52:46 ]
- >>985
1行目で既に破綻が
- 989 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 12:59:38 ]
- >>986
strtol
- 990 名前:981 [2006/07/23(日) 13:00:32 ]
- >>988
ありがと。いまきずいた(汗
- 991 名前:986 mailto:sage [2006/07/23(日) 13:04:15 ]
- >>989
さんくす、助かった
- 992 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 18:01:34 ]
- よくコンパイルまで行ったな。
- 993 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 10:40:46 ]
- おまいら日本語よりC言語のほうが意思疎通出来るんだな(w
- 994 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 10:55:00 ]
- 次スレは>>995が立てるそうです。
- 995 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 18:38:56 ]
- 次スレはいらない。
- 996 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 09:49:42 ]
- 入らなかったら拡張しろ
- 997 名前:デフォルトの名無しさん [2006/07/25(火) 16:42:16 ]
- 1000
- 998 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 18:11:33 ]
- スマン…まさか携帯から立つとは思わなかったんだ…
次スレ C言語なら俺に聞け(入門篇) ぱぁと2〜 pc8.2ch.net/test/read.cgi/tech/1153818463/ スレタイについては反省していない
- 999 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 18:21:20 ]
- >>998
乙
- 1000 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 18:29:03 ]
- >>998
おまえというやつは・・・乙
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|