C言語なら俺たちに聞け パート0001

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2012/07/07(土) 17:15:26.10
なんでも聞きなよ
2013/01/04(金) 17:34:52.69
まあ今ならIDE付きが良けりゃVC Express、コマンドラインやUnix系ならgccでいいやな
2013/01/04(金) 17:54:34.03
clang‥‥
2013/01/04(金) 18:46:07.53
全くわからん
187デフォルトの名無しさん
垢版 |
2013/01/14(月) 19:56:05.08
え?
2013/01/14(月) 22:36:33.80
馬鹿には分からん
2013/01/19(土) 22:03:06.79
馬鹿には分clang
2013/01/19(土) 23:03:35.94
さっPerlぃ分からん
2013/01/20(日) 13:47:00.58
>>173
逆にブラジャータッチが遠くなる
2013/01/20(日) 13:50:56.44
などと下着泥棒が申しております
193デフォルトの名無しさん
垢版 |
2013/01/25(金) 15:36:03.10
半角英数字5文字の文字列を格納可能な、文字型配列の要素数は最低限何個必要か?
194デフォルトの名無しさん
垢版 |
2013/01/25(金) 15:38:27.76
3行×2列の整数型の2次元配列matrix_dataに関して、

matrix_data[2][0] は、matrix_data[0][0]を1番目の要素とすると、計算機のメモリ上では、何番目の要素となるか数字で答えよ。
2013/01/25(金) 15:42:02.66
クイズスレ
2013/01/25(金) 16:05:47.57
いつから宿題スレに?
2013/01/25(金) 16:10:37.52
>>193
>>194
ゴミ
2013/01/25(金) 18:17:33.81
超暇な俺が真面目に答えてやるよ

>>193
文字列型があればよいので文字型配列は不要
>>194
アーキテクチャと実装言語により異なる
2013/01/25(金) 18:36:21.94
>>198
ここはC言語スレ。
2013/01/25(金) 18:59:21.38
193はcharを8bit文字コードをUTF32と仮定して最低20個だな
2013/01/27(日) 09:10:00.24
>>193
「半角英数字」って書体の話か? どれだけ必要かなんて実装次第だろ。
2013/01/27(日) 09:14:17.05
>>201
ゴミ
2013/01/27(日) 09:59:04.73
例えば文字列「123ABC$!&00字」というのは、良く使うと思われるエンコードで16進表記にすると
 ・SHIFT-JIS  : 31 32 33 41 42 43 24 21 26 30 30 8E 9A
 ・CP932    : 31 32 33 41 42 43 24 21 26 30 30 8E 9A
 ・ISO-2022-JP : 31 32 33 41 42 43 24 21 26 30 30 1B 24 42 3B 7A 1B 28 42
 ・EUC-JP   : 31 32 33 41 42 43 24 21 26 30 30 BB FA
 ・UTF-8    : 31 32 33 41 42 43 24 21 26 30 30 E5 AD 97
 ・UTF-7    : 31 32 33 41 42 43 2B 41 43 51 41 49 51 41 6D 2D 30 30 2B 57 31 63
なので、半角英数は1byteで良いのかな。
(「試した範囲ではこうでした」の域を出ないけど…)

UTF-7だと半角記号は厄介ですね。単独だと
 0 = 30
 $ = 2B 41 43 51
 ! = 2B 41 43 45
 & = 2B 41 43 59
 0 = 30
だし、並ぶと
 0$!&0 = 30 2B 41 43 51 41 49 51 41 6D 2D 30
しかも
 0$$$$$0 = 30 2B 41 43 51 41 4A 41 41 6B 41 43 51 41 4A 41 2D 30
2013/01/27(日) 10:04:33.40
>>203
ゴミ
2013/01/27(日) 10:15:01.75
>>203
「半角」というのは文字の形を表現している言葉に過ぎないので、
書体によっては何でも半角になり得る。
http://opentype.jp/hankakufont.htm

かつて1バイト文字を半角で表示していた習慣から混同されているが、
半角文字に対応する文字コードのサイズは決定できない。
2013/01/27(日) 10:22:10.52
2バイト半角を君は知っているか
2013/01/27(日) 10:27:37.33
>>205
ここのスレタイからして、>>193は書体に関わる質問ではないと思うんだが
2013/01/27(日) 10:30:15.76
全角文字が生まれるまでは半角文字など存在しなかったのであるよ
半角文字というのは全角に対応してそう呼ばれているだけ煮すぎない
2013/01/27(日) 10:31:47.91
>かつて1バイト文字を半角で表示していた習慣から

この認識は間違いなので新ためるように
2013/01/27(日) 10:33:14.04
>かつて1バイト文字を半角で表示していた習慣から

まるで今は1バイト文字を半角で表示していないかのような言い草だ罠。
2013/01/27(日) 10:34:07.73
半角 全角の歴史は組版にまで遡るのであるのである
2013/01/27(日) 14:02:43.09
おれが村田だ
2013/01/27(日) 15:07:39.38
南ハルオでございます
2013/01/28(月) 08:53:39.87
そうか。
2013/01/28(月) 10:36:55.73
>>213
みなみけwww
2013/01/28(月) 10:39:36.02
>>208
煮すぎるとどうなるの
2013/01/29(火) 04:14:52.66
釘でバナナが打てます
2013/01/29(火) 10:39:43.30
打てるけど打った結果はどうなるの?
2013/01/29(火) 11:01:10.36
バナナが釘に刺さります
2013/01/29(火) 11:42:01.16
そんなバナn
2013/03/17(日) 21:19:04.67
まだぺーぺーなんだけど、ちょっと教えてほしい!

printf("0x%02x〜
の"02x"って何?
いまいちわかんないんだ
0xは16進数の表記とはわかるんだけど…
2013/03/17(日) 22:27:09.59
>>221
%02x でひとまとめの指定。
printf に渡している次の整数ひとつを十六進数二桁 (二桁に満たない場合は上位桁をゼロ詰め) で表示せよということ。
その場合の 0x は 0x と表示するだけ。
2013/03/18(月) 22:19:13.22
>>222
おお!そーゆーことか!
らくらく突破C言語テキスト読んでるんだけどさっぱりだったんだわ(´・ω・`)

ありがと!
2013/03/19(火) 02:53:50.00
規格の書式指定子に関する部分を抜き出してみた。
http://www.rupan.net/uploader/info/1363629157
2013/03/19(火) 06:41:00.58
#include <stdio.h>
#include <time.h>
int main(int ac, char **av)
{
  time_t time;
  struct tm t, *l;
  t.tm_year = 2013 - 1900;
  t.tm_mon = 3 - 1;
  t.tm_mday = 18;
  t.tm_hour = 8;
  t.tm_min = 0;
  t.tm_sec = 0;
  time = mktime(&t);
  printf("%ld\n", time);
  l = localtime(&time);
  printf("%d-%02d-%02d %02d:%02d:%02d\n",
    l->tm_year + 1900, l->tm_mon + 1, l->tm_mday,
    l->tm_hour, l->tm_min, l->tm_sec);
  return 0;
}
これで 1363557600 2013-03-18 07:00:00 という結果になるのですが、
なぜ一時間ずれるのでしょう?
2013/03/19(火) 07:56:50.49
t.tm_isdst = 0;
を入れればいいんじゃね?
俺の環境では再現しないからわかんないけど。
2013/03/19(火) 08:39:53.04
UTC で作成した時刻を現地時刻に変換したからじゃね?
調べてないけど。
228デフォルトの名無しさん
垢版 |
2013/03/19(火) 13:34:37.73
>>225
全部大文字で書け!

#INCLUDE <STDIO.H>
#INCLUDE <TIME.H>
INT MAIN(INT AC, CHAR **AV)
{
TIME_T TIME;
STRUCT TM T, *L;
T.TM_YEAR = 2013 - 1900;
T.TM_MON = 3 - 1;
T.TM_MDAY = 18;
T.TM_HOUR = 8;
T.TM_MIN = 0;
T.TM_SEC = 0;
TIME = MKTIME(&T);
PRINTF("%LD\N", TIME);
L = LOCALTIME(&TIME);
PRINTF("%D-%02D-%02D %02D:%02D:%02D\N",
L->TM_YEAR + 1900, L->TM_MON + 1, L->TM_MDAY,
L->TM_HOUR, L->TM_MIN, L->TM_SEC);
RETURN 0;
}
229デフォルトの名無しさん
垢版 |
2013/03/19(火) 13:35:42.53
ん〜、ホント、汚らしいプログラムだなw

馬鹿かと思ったw
2013/04/02(火) 11:42:35.71
>>228
全角で書け!
2013/04/03(水) 00:57:33.02
だが断る
232デフォルトの名無しさん
垢版 |
2013/04/03(水) 19:42:10.51
すいません。プログラム初心者です
質問、よろしいでしょうか?
2013/04/03(水) 20:24:26.00
>>232 どうぞ
234デフォルトの名無しさん
垢版 |
2013/04/04(木) 21:47:31.87
MsgBox "前から言おうと思ってたんだけど良い?" , vbExclamation Or vbApplicationModal , "キーボードからの警告"
MsgBox "あのさぁ汚い手で触らないでくれる?" , vbExclamation Or vbApplicationModal , "キーボードからの警告(2)"
MsgBox "ほら、小指の爪ばっかり伸ばしてるからあたって痛いんだよね" , vbExclamation Or vbApplicationModal , "キーボードからの警告(3)"
MsgBox "あと、Enterだけ強く叩くのやめてくれる?カッコいいと思ったら大きな間違いだよ" , vbExclamation Or vbApplicationModal , "キーボードからの警告(4)"
235デフォルトの名無しさん
垢版 |
2013/04/04(木) 21:50:00.43
MsgBox "あと、お礼に良いこと教えてあげるよ!!キーボードからよく見えるしさ" , vbExclamation Or vbApplicationModal , "ありがとぉ〜"
MsgBox "鼻毛のびてるよ...." , vbCritical Or vbApplicationModal , "キーボードからのお礼?"
MsgBox "早めに切ってね." , vbCritical Or vbApplicationModal , "キーボードからのお礼?(2)"
 このプログラム面白くできませんか?
2013/04/04(木) 22:59:32.80
壊滅的にセンスがないな。
237デフォルトの名無しさん
垢版 |
2013/04/04(木) 23:05:08.34
>>236
すいません。センス無いんです...
改善点だけでも!!
2013/04/04(木) 23:13:33.33
そもそもこのスレが何のスレかも分かっていないようだが。
2013/04/05(金) 02:55:21.64
Unix環境ですと、セグメンテーション違反やバスエラーが発生した場合、
コアダンプしてプロセスが強制終了するのですが。
プロセスを強制終了させずに、エラー処理ルーチンに制御を移して
処理を続行させるようなことは、C言語では可能ですか?
2013/04/05(金) 07:59:09.65
>>239
出来るけどシグナルが発生した原因を取り除かないと同じ事が繰り返すよ。
2013/04/05(金) 13:54:47.39
>>240
情報どうもです(`・ω・´)
242デフォルトの名無しさん
垢版 |
2013/04/11(木) 14:57:51.76
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
これの解決策がわかりません、opencvを使うにあたってプロジェクトの
プロパティで、インクルードディレクトリなどを追加していることなどが
関係しているようなのですが特定できません。
よろしくお願いします。
また、opencvを使用していない簡単なプログラムでSetCursorPosを
使った際はエラーが発生しません。
2013/04/11(木) 17:00:34.43
>>242
全然分からんけど、もしかして
1. #include <windows.h> を #include "stdafx.h" の次に書く
2. int main() を int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpszCmdLine, int nCmdShow) にしてみる
これでは…?
244デフォルトの名無しさん
垢版 |
2013/04/11(木) 17:13:37.80
>>243
ありがとうございます。
しかし、1と2を行った結果
MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
というメッセージが増えてしました。
2013/04/11(木) 17:32:30.32
>>244
馬鹿輩! 先ずは1だけ試した結果を書けよ。
246デフォルトの名無しさん
垢版 |
2013/04/11(木) 17:40:36.14
申し訳ないです。
1のみの結果
C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
が増えました。

2のみ
MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
です
2013/04/11(木) 18:17:31.10
横からすみません。
これってDLLのプロジェクトですか?
2013/04/11(木) 18:21:22.98
ttp://d.hatena.ne.jp/gomi-box/20101006/1286355611
と同じかな?
249デフォルトの名無しさん
垢版 |
2013/04/11(木) 19:36:52.54
>>248
リンク先の対処法でstdafx.hについては解決しましたが、
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
このメッセージは消えません。
250デフォルトの名無しさん
垢版 |
2013/04/11(木) 19:40:40.87
>>247
コンソールアプリケーションです。

>>248
ありがとうございました。
251デフォルトの名無しさん
垢版 |
2013/04/11(木) 19:44:02.72
空のプロジェクト
にチェック入れて作ってしまっていました。
とりあえず作り直してみます。
252デフォルトの名無しさん
垢版 |
2013/04/12(金) 09:47:40.93
>>251
で作り直しましたが、何も変わりませんでした。
2013/04/12(金) 13:23:16.24
libをリンクしていないようにしか見えない
254デフォルトの名無しさん
垢版 |
2013/04/12(金) 15:35:54.26
     \_   _ /`|l: : : : l: : l.:イ| |:l  'l:| lヽ.: : :| ヾ ヽ.:|ハ: : : :|.: |   ̄    /  .|.:|   
       `V:)´     /|.l.:|: : :l.: :l: :| ,t==z, l|  \: | ,r==z,|: : : |.:_:|   \_/:`ヽ/|:|   
       |(    / | l:|.: : :l: :ll: |/んノ心     ヾ んノ心.|: : : |´-|   入.: :| |: |: :| |:|   
       l| 'ーl´.:^lヽ_,,l|ヽ: :ヽ.:l: | {:::i::j:::リ         {:::i::j:::リ|: : : |...l lt-'´/:|: /':,|:/|: | |:|
            \: :|\: \:\:ヽ;|'. ゝ- '"     ,     ゝ- '".|.: :/ー'/.:|: /: :|/: : |!. |/. |'    >>1
            /:`'.: : :\: : :|`l: iヽ "" ""  、  ,  "" ""|: /:-t'´://: :/: : : ´':.'
        ( ー'-=z_ニー' i、.:|`'l: 'z、               ., :|:/: : :_|;/-‐--‐t_,,z'" ):,
        `7- 、    `ヽ_'ー--; :|: |`: :t- .,  _ ..: :i: :/´:|.:l´ r=ニシ- '` _./、.: :':,
        /: ;ノ/\    `ヽ. /ヽー=ニノ_: |ー----‐|: : |: ':_;:-y、r|  /    /‐-t_|_ :_.:':,
        // __  \_    .lヽ }/ `i\ ー----‐'冫 _,r' ( | | ノ   /   __  ̄ )
      γ´ ,.イ´ /       /ノ .〉、  `i_ `.     ´ _r"   )'/ /   /   (_ 〉: : ̄: ':,
      ,:ー:'´: i/ ./`l  ,、  / l _) )  `i、_ ´ r''"      /l/ 弋      ,:=,,_` ' : 、: : ',
     ,:'.: : : :,.' /^|,_/ / | .l-'./ /  o oγ'Y´o o    ( `iー、ヽ._  r: 、 \ノ` : 、._): : ':,
    ,:'.: : : :,(_/`i '/ /三| l ノ リ      弋リ           ̄`iーゝ_, >、\l\ \: : : : : : : ',
   ,:'.: : :/: : : /: :ゝ(_ノ   冫' ,イ-'     _r-' "'ー、_.       |ー--−'ゝ,_).:`ー ': : : : : : : :':,
255片山博文MZパンク ◆0lBZNi.Q7evd
垢版 |
2013/04/12(金) 22:19:30.25
お前ら全員雑魚。なに勉強してんだよ。

SetCursorPos関数を使ってるのにuser32.libをリンクしてないのが原因。

ソースのどこかに
#pragma comment(lib, "user32.lib")
の一行を書けば解決する。
2013/04/12(金) 22:39:51.11
なんでわざわざソースリンク書くんだよめんどくせぇ
257デフォルトの名無しさん
垢版 |
2013/04/12(金) 22:44:24.32
>>256
コピペもできない餓鬼は黙ってろ
258デフォルトの名無しさん
垢版 |
2013/04/13(土) 00:58:23.10
>>255
初心者に嘘教えてるお前よりはマシ。
2013/04/13(土) 04:51:17.57
>>255
VSで普通にC++のアプリのプロジェクトを作ったら特に何もしなくても
user32が使えると思っていたけど違うの?

>>242
#pragma comment(lib, "user32.lib")
を書いてどういう結果になるのか楽しみ
2013/04/13(土) 09:43:39.69
>>255
>>253
2013/04/13(土) 17:37:17.72
getcで質問なんですが
while((c = getc(file)) != EOF);
getcをwhileでループしているだけなのになぜ順番に1文字ずつ読まれるのでしょうか
現在何番目の文字が読まれているとかいうのをfileに書き込んでいるのですか?
2013/04/13(土) 17:48:05.64
ヒント:FILE構造体
2013/04/13(土) 17:54:38.47
>>262
ありがとうございます
getcは1文字読み込んでFILE構造体のptrをインクリメントしているのですね
2013/04/13(土) 17:58:05.75
ファイルの読み込み位置をFILEに記録してる処理系なんてないだろ。
265─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/13(土) 21:43:18.45
>>263
>getcは1文字読み込んでFILE構造体のptrをインクリメントしているのですね

Cの規則ならGETC(FILE++)にすべきなんだろうなw

FILE++(笑)
2013/04/13(土) 22:15:25.33
冗談なのかバカなんで本気で言ってるのかわからん
267─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/13(土) 22:16:53.38
FILE++(笑)
2013/04/13(土) 22:18:17.75
ちなみにFILEは構造体じゃなくてもいいんだけどな
269─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/13(土) 22:20:33.10
FILE++(笑)
2013/04/13(土) 22:41:28.82
何でこの糞スレが今さらagaってる?
271─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/14(日) 00:09:48.82
FILE++(笑)
272デフォルトの名無しさん
垢版 |
2013/04/14(日) 01:17:17.03
将棋電王戦でポナンザを開発した山本一成氏がツイッターで
「C#マンセー」みたいな事言っていて、.NETの開発効率には賛同なんだが
それ以前のつぶやきで、「C++って関数の引数の直値で配列書けないのか‥?」
って・・・。
C++及びCの基本も知らないようで驚いた。
応用分野には詳しいようだけど、東大の大学院を出ていて
このレベルというのはどうかと・・・。
CとC++なんて3日でマスター出来るのに
Cを知らないようでは、SDKプログラミングが出来るかどうかも
怪しいね・・・。
MASMオンリーでWindowsアプリを書けるくらいの人だと思っていたのに
ちょっと幻滅。
2013/04/14(日) 02:22:10.42
>>272
C/C++では関数の引数としての配列はcall of reference になってしまうのだが、山本氏としては call of value でありたかったのでは、構造体と同じように。
2013/04/14(日) 02:24:01.98
用語を間違えた、call by reference / call by value だったね
2013/04/14(日) 02:42:16.50
無理して元々無い英語力を見せつけようとしなくてもいいよ、低脳Q君w
2013/04/14(日) 02:50:10.67
>>275
それもそうなんですが、用語「参照」が変な風に使われるようになってしまったのを意識しているのです。
277272
垢版 |
2013/04/14(日) 05:05:50.15
あの感じだと、テキストセグメント、データセグメント、スタックセグメントの概念も知らなそうですね。
知っているからどうなんだという意見が出そうだけど、プロセスが終了するまで
malloc等で動的に確保され拡大されたデータセグメントはfreeしても縮小しないので。
278272
垢版 |
2013/04/14(日) 06:29:46.23
いやね?、しつこくてスマンけど、

>>272
「C++って関数の引数の直値で配列書けないのか‥?」

って、定数なんだから、値渡しだろうと、アドレス渡しだろうと
関係ないでしょ?
それにconst配列の引数は使えるんだし、根本的に意味不明で、
山本氏は一体何を言いたいのだろうかと。
天才の考える事は常人には理解不能って事?

もしかしたら自分が間違っているのかと思って、テストプログラムまで書いちゃったよ。。
279272
垢版 |
2013/04/14(日) 06:34:43.73
最近はCとC#とJAVAしか使わないから、もしかしたらCとC++では
規約が違っているのかと思って焦ってしまった。
280272
垢版 |
2013/04/14(日) 06:59:24.18
まさか、

hoge(const int nTemp[5]={0,1,2,3,4});

こんな呼び出しをしようってわけじゃないよね?
これって動くの?こんなことやった事ないから分からんけど。
眠いから、もうテストする気無し。
281272
垢版 |
2013/04/14(日) 07:59:34.49
そういや、直値ってハードコードされた数値の事で、定数の一種ではあるけど
直値の配列なんて表現は無いんであって、そうなると

「C++って関数の引数の直値で配列書けないのか‥?」

この日本語って、どう解釈すればよいわけ?
「関数の引数の直値で」「配列を書く」????
日本語自体が破綻しているとしか思えないんだけど。
282272
垢版 |
2013/04/14(日) 08:03:32.07
って事でワケワカメのC#厨の話はお開きにして、F1決勝まで寝る。
283272
垢版 |
2013/04/14(日) 08:11:01.69
初めからラッパーばかり使って楽してきた奴はこうなってしまうという典型?
284272
垢版 |
2013/04/14(日) 08:26:55.81
もしかして、これ?

hoge({0,1,2,3,4});

こんなん見た事ないけどw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況