[過去ログ]
C言語なら俺に聞け 151 (1002レス)
C言語なら俺に聞け 151 http://mevius.5ch.net/test/read.cgi/tech/1554171817/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
422: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/05(日) 14:08:06 ID:2T/oydys0 >>421 いや、必須なのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/422
423: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 14:11:38 ID:3EWrT4Pn0 >>422 いいえ、実際に実装するならば、エラーを伝達する手段として返り値を準備することは大いにありえるでしょうね void が必須ではありません 必要な代入なら使えばいい、でも >>393 ptr = func1(ptr, opt); 方式は不必要な代入があり、単に二重ポインタを使用して記述すればこれは除去できるので、 >>393 ptr = func1(ptr, opt); を書くのは問題だし、これを書く人は頭を使っていない、と判断します http://mevius.5ch.net/test/read.cgi/tech/1554171817/423
424: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/05(日) 14:33:08 ID:bV6goPu10 異常は戻りをNULLにするパティーンで node_t *func3(node_t**, ...) 正常だった場合に ptr = func3(&ptr, opt); と書けるしw (無駄な努力の可能性 http://mevius.5ch.net/test/read.cgi/tech/1554171817/424
425: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/05(日) 14:34:34 ID:bV6goPu10 って書いたけど鼻から悪魔踏みそうな嫌らしさがあるな… http://mevius.5ch.net/test/read.cgi/tech/1554171817/425
426: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 15:03:58 ID:3EWrT4Pn0 >>424 そのパターンでは、異常値 NULL をうっかりノードに登録してしまうと、そのノードより下が浮いてしまい危ないですね、ま、異常系をミスったままリリースしてしまうことも私はよくやりますけど http://mevius.5ch.net/test/read.cgi/tech/1554171817/426
427: デフォルトの名無しさん (アウアウカー Sa47-3iRC) [sage] 2019/05/05(日) 15:42:24 ID:8x8syc+Fa >>423 いや、必須でしょ?代入消せるんだから。消さないと。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/427
428: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 17:54:28 ID:3EWrT4Pn0 >>427 言葉尻を捕らえて攻めたつもりになっているようですね 「すべての代入を消去できる」なんていってませんよね >>393 ptr = func1(ptr, opt); この代入は不要な代入を含むので、 >>393 ptr = func1(ptr, opt); は不適当な書き方だ、とこれまで首尾一貫して述べているのです http://mevius.5ch.net/test/read.cgi/tech/1554171817/428
429: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/05(日) 18:13:23 ID:bV6goPu10 423の文意は 「void が必須なわけではなく 引数と同じ型のポインタを戻すことはせずに、別の目的の何か、たとえばエラーコードとして int を戻す なんてのはアリでしょ?」 ってことだと思うけど http://mevius.5ch.net/test/read.cgi/tech/1554171817/429
430: デフォルトの名無しさん (アウアウエー Sa3a-3iRC) [sage] 2019/05/05(日) 18:42:49 ID:dOx23ziba returnしちゃだめでしょ 代入が駄目ってくらいだから http://mevius.5ch.net/test/read.cgi/tech/1554171817/430
431: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/05(日) 18:56:43 ID:bV6goPu10 「代入不要なケースでも代入記述を要求するのはよろしくない」スタイルの延長だと 戻り値評価も破棄可能ならそうすべき って話か http://mevius.5ch.net/test/read.cgi/tech/1554171817/431
432: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 19:00:00 ID:3EWrT4Pn0 >>430 どんな代入もだめだとは主張していませんね… >>393 ptr = func1(ptr, opt); 方式は不必要な代入があり、単に二重ポインタを使用して記述すればこれは除去できるので、 >>393 ptr = func1(ptr, opt); の代入が駄目だとはいってきていますけれども http://mevius.5ch.net/test/read.cgi/tech/1554171817/432
433: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/05(日) 19:03:30 ID:TxpPZKKr0 >>407 http://mevius.5ch.net/test/read.cgi/tech/1554171817/433
434: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/05(日) 19:13:46 ID:TxpPZKKr0 あ、ごめん、ミスって文章を書く前に投稿してもうた。 >>407 あらためて確認するが、この代入を「無駄」としているのはアルゴリズムの表現の上では不要なことをしているという 意味の上での無駄であって、性能上の無駄という意味ではないんだね? そして、アルゴリズムを正しく表現する上では (ときには二重・三重のも含めて) ポインタが必要だと。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/434
435: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 20:16:09 ID:3EWrT4Pn0 >>434 >性能上の無駄という意味ではないんだね? 性能の上で分析するとなると、間接参照にてデータをロード、ストアするコストと値をストアするコストを天秤にかける、ことになりますね なるほど、その点を言いたくて、でも言いたくなくて、しつこく絡んでいたのですか… 私は二重ポインタでの表現の方がトータルでお得だ、とは思ってはいますが、これまで表に出ている私の発言は、あえてそこには踏み込まず(だって性能の話はうかつに断言できませんからね…)、 おっしゃるとおり「アルゴリズムの表現の上では不要なことをしている」に留まっています http://mevius.5ch.net/test/read.cgi/tech/1554171817/435
436: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/05(日) 20:57:45 ID:TxpPZKKr0 >>435 たとえば数学上の表記なら「A=1 であり B=1 のとき A=B は真である」と「1=1 は真である」には何も差が無い。 途中で名前を付けるのは人間に対する便宜であって、無駄な「操作」は存在しない。 代入が無駄たりうるのは C のパラダイムだからなので、 「C で表現するにはポインタが必要だし、代入では不適当だ」は事実であっても 「ポインタが無い言語では表現できない」というわけではないよ。 C の低級な世界でまともな意味論を表現しようとするのがそもそもの間違いだろう。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/436
437: ◆QZaw55cn4c (ワッチョイ 8247-R0y6) [sage] 2019/05/05(日) 21:02:18 ID:3EWrT4Pn0 >>436 >「ポインタが無い言語では表現できない」というわけではないよ。 それは理解しています、なぜなら Java での二分木の実装を検討したことがある(探せば2ch過去ログにあるかもしれません) Java にはポインタはありませんが、実装できるかできないか、といえば「できる」の方に入りますね http://mevius.5ch.net/test/read.cgi/tech/1554171817/437
438: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/05(日) 21:54:26 ID:TxpPZKKr0 >>437 そこまでわかっているのなら、 「代入しない」と「同じ値を代入しなおす」が意味論的に等しいということがどうしてわからないんだ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/438
439: デフォルトの名無しさん (ワッチョイ 2f05-S4IJ) [] 2019/05/05(日) 23:34:40 ID:RXFRr1FQ0 C言語のプログラム内で確保していいメモリってユーザー空間の仮想メモリ上限いっぱいまで取っていいの? 複数の変数a, b, c, ・・・の値を表示するだけのプログラムを時系列に並べて考えてみるんだけど 0. 実行ファイルを起動する 1. 32bitプロセスが生成される ←たとえば32bit windowsだとユーザー空間とカーネル空間で計4GBの仮想メモリが確保される 2. int a; ←仮想メモリ(1で確保されたユーザー空間)上にaが確保される int b; ←上に類似 int c; ←上に類似 ・・・・・(複数の変数の宣言やprintf関数が続く) こんな感じなんだろうけど 上記の2でユーザー空間いっぱいになるまで変数を宣言してもいいの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/439
440: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4e3e-Cg3z) [sage] 2019/05/05(日) 23:38:14 ID:TxpPZKKr0 >>439 いいけど、もっと効率的な方法があるならそれに越したことは無いっていうそれだけの話 http://mevius.5ch.net/test/read.cgi/tech/1554171817/440
441: デフォルトの名無しさん (ワッチョイ 2f05-S4IJ) [] 2019/05/05(日) 23:41:29 ID:RXFRr1FQ0 簡潔に書くと 安全のためにはどこまでメモリを使っていいの? そのメモリの大きさはユーザー空間の上限と同じなの? という室問なのに長くなってしまた http://mevius.5ch.net/test/read.cgi/tech/1554171817/441
442: デフォルトの名無しさん (ワッチョイ 2f05-S4IJ) [] 2019/05/05(日) 23:47:50 ID:RXFRr1FQ0 >>440 ありがとう ただ初心者なので効率性を目指すにはきつい部分が出てくる そうなるとメモリの残量を監視する、つまり残量の値を取得する必要があるわけだけど これは一般的にはwindowsのAPIを使うのが普通なの? (そんなものがあるのかは知らない) http://mevius.5ch.net/test/read.cgi/tech/1554171817/442
443: デフォルトの名無しさん (ワッチョイ 8252-M0pk) [sage] 2019/05/05(日) 23:52:54 ID:RPhfdkos0 >>442 スタックとヒープという概念は知ってる?知らなければまずそれを調べてみて。 それと、初心者なら効率を求める前に正しくメモリ管理を扱えるようになる必要があるが、その時点で残量は気にする必要はないぞ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/443
444: デフォルトの名無しさん (ワッチョイ 2f05-S4IJ) [] 2019/05/05(日) 23:59:16 ID:RXFRr1FQ0 FIFOだとかナントカ程度にしか。 「〜〜領域」という幾つかの用語がOSとかの環境が違っても 全く共通のものなのかよく分からないから正直スルーしてる http://mevius.5ch.net/test/read.cgi/tech/1554171817/444
445: デフォルトの名無しさん (ワッチョイ e22c-4xtZ) [sage] 2019/05/06(月) 05:38:27 ID:wr9bFPpT0 >>414 >1億ノードの二分木にノードを追加する際、30個の無駄な代入が発生します 2^10 = 約1,000 千 2^20 = 約1,000,000 百万 2^30 = 約1,000,000,000 十億 >>441 Java VM の初期値は、256MB とか。 それよりも大きいと強制終了されるが、起動時に、512MBに設定できる たぶん、4GB の仮想メモリでも、ユーザー空間3GB・カーネル空間1GBぐらいだろ それ以上のデータは、動画みたいにstream になる。 バッファサイズ、例えば、1MB を読んでは捨てて、次の1MB読んでは捨てて、の繰り返し 読み込んだデータを使ったら、すぐに捨てないといけない。 ユーザー空間に、空きを作らないといけない http://mevius.5ch.net/test/read.cgi/tech/1554171817/445
446: デフォルトの名無しさん (ワッチョイ 8252-M0pk) [sage] 2019/05/06(月) 06:20:53 ID:Geq8Gq1G0 >>445 いつものRubyバカだろ。いい加減な知識でC言語のメモリの話題に口を挟むのはやめろ。この板になれている者からすれば「またいつものか...」ですむが、初心者にとっては害悪でしかないから消えろ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/446
447: デフォルトの名無しさん (ワッチョイ 8252-M0pk) [sage] 2019/05/06(月) 06:25:32 ID:Geq8Gq1G0 >>444 組み込みとかの特殊な環境では例外もあるけど、基本的には環境によらずC言語で必須の概念だからスルーせずにちゃんと調べるべき。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/447
448: デフォルトの名無しさん (ワッチョイ 06d2-R0y6) [sage] 2019/05/06(月) 08:39:59 ID:s1ulBxFy0 >439 >上記の2でユーザー空間いっぱいになるまで変数を宣言してもいいの? 他のプロセスがスワップ起こして重くなるから止めろって言いたい。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/448
449: デフォルトの名無しさん (ワッチョイ 2f05-73UM) [] 2019/05/06(月) 10:14:49 ID:Om5TJBQR0 >>447 うん調べてみるよ ありがとう >>448 そんな視点もあるのか 他のプロセスも考慮しないといけない 思ったよりも数段以上やっかいだな http://mevius.5ch.net/test/read.cgi/tech/1554171817/449
450: デフォルトの名無しさん (ワッチョイ 2f05-73UM) [] 2019/05/06(月) 10:19:59 ID:Om5TJBQR0 >読み込んだデータを使ったら、すぐに捨てないといけない データをガンガン読み込んでいくようなプログラムだと「使ったらすぐ捨てる」のが鉄則か http://mevius.5ch.net/test/read.cgi/tech/1554171817/450
451: デフォルトの名無しさん (ワッチョイ d701-LHRJ) [sage] 2019/05/06(月) 10:40:24 ID:F7BEaxMm0 >>439 ユーザープロセスなのでカーネル空間はマッピングされないよ。プロセス管理のための領域はカーネル空間に多少は確保されるとは思うけど、それはユーザープロセス用ではないし。 ページサイズの関係で効率的に確保できるかどうかは別問題だけど仮想メモリ領域いっぱいまで取れるか否かと言えば取ることはできる。 実際にそんなことしたらスワップ発生しまくりでまともに動かないとは思うけど。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/451
452: デフォルトの名無しさん (ワッチョイ 7fe9-3iRC) [sage] 2019/05/06(月) 12:43:21 ID:53K/0wkW0 実装としてはだいたいcopy on writeだから、確保だけだったら特に問題発生しないよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/452
453: デフォルトの名無しさん (ブーイモ MM3e-iz+S) [sage] 2019/05/06(月) 16:08:26 ID:95XsbNbMM >>451 どのOSなのか明示してくれ。 少なくともlinux 32bitは3GB以降はkernel空間にマッピングされてるだろ http://mevius.5ch.net/test/read.cgi/tech/1554171817/453
454: デフォルトの名無しさん (ワッチョイ 4321-QjK4) [] 2019/05/06(月) 21:20:46 ID:lSipB+Y80 配列にある16進数アスキーを 整数型変数に数値として入れたいのですが、上手くいきません。 valの値をprintfで出力しても「0」になります。 rbuf[5]の中身は「0xDC」 rbuf[6]の中身は「0x18」でした。(printfで出力してみたところ。) #include <stdio.h> unsigned char sbuf[255] = {'\0'}; //送信バッファ unsigned char rbuf[255] = {'\0'}; //受信バッファ unsigned char work[10] = {'\0'}; //ワークバッファ unsigned int val = 0; //値 work[0]=rbuf[5]; work[1]=rbuf[6]; work[2]='\0'; sscanf((char *)work, "%x", &val); よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/454
455: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/06(月) 21:29:36 ID:v87Zm/5a0 sscanf の %x は、文字列で記述された数字+アルファベットの列を 16進数として抜き出す sscanf("10", "%x", &val); → val の値は 10進で16 となる 0xDC 0x18 の並びから どういう整数値にしたいんだろうか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/455
456: 454 (ワッチョイ 4321-QjK4) [] 2019/05/06(月) 21:38:34 ID:lSipB+Y80 >>455 回答ありがとうございます。 val=0xDC18 という感じで取り出したいです。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/456
457: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/06(月) 21:40:18 ID:v87Zm/5a0 >>456 それなら val = rbuf[5]; じゃあかんの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/457
458: 454 (ワッチョイ 4321-QjK4) [] 2019/05/06(月) 21:50:08 ID:lSipB+Y80 >>457 ありがとうございます。そういうことか・・・ 下記で上手くできました! val= rbuf[5]; val = val << 8; val |= rbuf[6]; http://mevius.5ch.net/test/read.cgi/tech/1554171817/458
459: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/06(月) 21:54:12 ID:v87Zm/5a0 >>458 解決してよかったね 0xDC 0x18 の並びから (最低でも32bit長の整数)0xDC18 が欲しかったということだね http://mevius.5ch.net/test/read.cgi/tech/1554171817/459
460: デフォルトの名無しさん (ワッチョイ f701-EPtf) [sage] 2019/05/06(月) 21:55:43 ID:v87Zm/5a0 (俺がちゃんと >>456 を読めてなかった説 val=0xDC18 って書いてるやんけw) http://mevius.5ch.net/test/read.cgi/tech/1554171817/460
461: デフォルトの名無しさん (アウアウウー Sabb-vI8p) [] 2019/05/06(月) 22:06:19 ID:NYoOX9LAa >>454 > rbuf[5]の中身は「0xDC」 > rbuf[6]の中身は「0x18」でした。(printfで出力してみたところ。) だったらそれはASCIIではないよね。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/461
462: デフォルトの名無しさん (アウアウウー Sabb-vI8p) [] 2019/05/06(月) 22:08:02 ID:NYoOX9LAa などと、ゆっくり書いていたら既に解決か・・・ http://mevius.5ch.net/test/read.cgi/tech/1554171817/462
463: デフォルトの名無しさん (ワッチョイ 4321-QjK4) [] 2019/05/06(月) 22:09:16 ID:lSipB+Y80 >>460 >>461 ありがとうございます。 お陰様で解決できました。 勝手にASCII、文字列と勘違いしていたのがよくなかったです。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/463
464: デフォルトの名無しさん (ワッチョイ e22c-4xtZ) [sage] 2019/05/07(火) 06:48:35 ID:/Z9tG+PY0 ASCII は、7 bit キャラだろ 欧州文字コードなら、8 bitとか http://mevius.5ch.net/test/read.cgi/tech/1554171817/464
465: デフォルトの名無しさん (ワッチョイ 23d2-R0y6) [sage] 2019/05/07(火) 15:31:36 ID:gGAOuhJk0 BASIC時代 文字→文字コード変換関数が ASC(文字) だったな。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/465
466: デフォルトの名無しさん (ワッチョイ d701-LHRJ) [sage] 2019/05/08(水) 20:11:19 ID:w7dyIR3e0 逆はCHR$(コード)だったな。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/466
467: デフォルトの名無しさん (ワッチョイ 9b6d-ahOC) [sage] 2019/05/08(水) 22:02:13 ID:LqpjdKM80 「なんで朝潮?」と思ってしまった当時の俺w http://mevius.5ch.net/test/read.cgi/tech/1554171817/467
468: デフォルトの名無しさん (ワッチョイ 7f7c-gMth) [sage] 2019/05/09(木) 08:32:10 ID:IVg2TokP0 わらってよりとも というのは、当時の人気番組名をもじったものだよ http://mevius.5ch.net/test/read.cgi/tech/1554171817/468
469: デフォルトの名無しさん (ワッチョイ 9f35-AilG) [sage] 2019/05/09(木) 12:40:11 ID:J26JobOx0 https://ae01.alicdn.com/kf/HTB1goomIL1TBuNjy0Fjq6yjyXXaS/Cetak-Pria-Kaus-Katun-Leher-o-Tshirts-ANSI-Pemrograman-C-Buku-Jepang-Lengan-Pendek-Wanita-Kaus.jpg_640x640.jpg http://mevius.5ch.net/test/read.cgi/tech/1554171817/469
470: デフォルトの名無しさん (ブーイモ MM9b-f8ez) [sage] 2019/05/09(木) 20:40:23 ID:axmpki24M 「はじめてのC」なら買う http://mevius.5ch.net/test/read.cgi/tech/1554171817/470
471: デフォルトの名無しさん (ワッチョイ ff63-gMth) [sage] 2019/05/09(木) 22:18:17 ID:fgRKvhjn0 その本の名前、買うときに恥ずかしいw http://mevius.5ch.net/test/read.cgi/tech/1554171817/471
472: デフォルトの名無しさん (ワッチョイ 9f79-ScLU) [sage] 2019/05/09(木) 23:03:35 ID:vEdVh+9n0 質問です 文字列の配列 char matrix[Y][X]を関数に引数として渡して、渡した先の関数でtxtファイルに出力したい。 YとXはその時々によって違う値でmatrixは文字列の配列だけど1行ごとに'\0'が入っていないとき、渡した先の関数でYとXをどうやれば参照できますか? 例えば matrix = {{‘a’, ‘b’, ‘c’}, {‘d’, ‘e’, ‘f’}}; みたいな配列です http://mevius.5ch.net/test/read.cgi/tech/1554171817/472
473: デフォルトの名無しさん (アウアウエー Sadf-NBbm) [sage] 2019/05/10(金) 00:00:40 ID:IBOrEgMWa X(配列のサイズ)を共有してやればいいんじゃないかな http://mevius.5ch.net/test/read.cgi/tech/1554171817/473
474: デフォルトの名無しさん (ワッチョイ ff63-gMth) [sage] 2019/05/10(金) 00:14:05 ID:Ojl9YgLP0 >>472 matrixのアドレスと共にX、Yの値を渡さないと無理 http://mevius.5ch.net/test/read.cgi/tech/1554171817/474
475: デフォルトの名無しさん (ワッチョイ bf02-XC4S) [] 2019/05/10(金) 03:11:16 ID:+vHN15fT0 >>472 https://qiita.com/Hiraku/items/babed27bc1d750c2e12d http://mevius.5ch.net/test/read.cgi/tech/1554171817/475
476: デフォルトの名無しさん (ワッチョイ 9f79-ScLU) [sage] 2019/05/10(金) 09:26:09 ID:bwAvNWKg0 >>474 やっぱり配列のサイズ一緒に渡さないとだためですか http://mevius.5ch.net/test/read.cgi/tech/1554171817/476
477: デフォルトの名無しさん (アウアウウー Sa1b-wdoq) [] 2019/05/10(金) 09:44:04 ID:0Zlxa6bHa そう。他の言語だと裏でこっそり渡すようになっていたりしてプログラムに書かなくても動くかも知れないが、Cはそこまでやってくれない。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/477
478: デフォルトの名無しさん (ワッチョイ ff69-PnGR) [sage] 2019/05/10(金) 10:05:05 ID:hw8N8wYC0 標準関数も一次元配列ですら大きさを渡してるからねー (文字列は '\0' が終端である という了解を持って大きさを不要にしているだけ) http://mevius.5ch.net/test/read.cgi/tech/1554171817/478
479: デフォルトの名無しさん (スップ Sdbf-63hD) [sage] 2019/05/10(金) 12:34:03 ID:zZfQYrbwd >>475 URL張って解党した気になってるアスペルガーのカスがスレ来んな http://mevius.5ch.net/test/read.cgi/tech/1554171817/479
480: デフォルトの名無しさん (ワッチョイ bf02-y0Vo) [] 2019/05/10(金) 23:50:49 ID:svzEPJh90 え?読んでもわからなかったの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/480
481: デフォルトの名無しさん (ワッチョイ d7f6-y0Vo) [sage] 2019/05/11(土) 07:43:24 ID:glRpLuyC0 確かにつまらんね リンクだけとかググレカスとか せっかく掲示板にいるのに対話がないのは http://mevius.5ch.net/test/read.cgi/tech/1554171817/481
482: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf3e-gMth) [sage] 2019/05/11(土) 09:55:06 ID:GtXmrqj00 >>481 リンクを示すのも、ググればわかるようなことにググれというのも対話だよ。 対話を終わらせてるのはお前だろ。 リンク先を見て意味がわからんかったならどうわからなかったか、 よりよい説明があると思うならそれを示してもいい。 望むことだけ欲しいというのは対話とは言えんよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/482
483: デフォルトの名無しさん (ワッチョイ d7f6-y0Vo) [sage] 2019/05/11(土) 10:34:34 ID:glRpLuyC0 >>482 話が噛み合ってない おまえさんとは平行線のようだな http://mevius.5ch.net/test/read.cgi/tech/1554171817/483
484: デフォルトの名無しさん (ワッチョイ 57dc-y0Vo) [sage] 2019/05/11(土) 11:46:55 ID:0ygzdBDA0 ID:glRpLuyC0が対話する気なさすぎて草w http://mevius.5ch.net/test/read.cgi/tech/1554171817/484
485: デフォルトの名無しさん (ワッチョイ ff63-gMth) [sage] 2019/05/11(土) 12:23:55 ID:9iCvmH6s0 ここは質疑を行うスレであって 対話したり、雑談したりする場ではない http://mevius.5ch.net/test/read.cgi/tech/1554171817/485
486: デフォルトの名無しさん (ワッチョイ 9f2d-y0Vo) [sage] 2019/05/11(土) 19:10:51 ID:HOBfdmGr0 Cの上位互換(?)として、C++がありますが。C++は覚えた方がいいですか? もしくは、CとC++を両方覚えたら、Cは不要になり、C++でコードを書くようになりますか? C++でできることはCでもできるように見えますので、ならCだけでいいようにも思えたり。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/486
487: ◆QZaw55cn4c (ワッチョイ 9f47-vVMj) [sage] 2019/05/11(土) 19:18:54 ID:KtHZQgR00 >>486 C++ は最近規格の改定がすすみ、いろんなことが C++ の枠内でできるようになりました http://mevius.5ch.net/test/read.cgi/tech/1554171817/487
488: デフォルトの名無しさん (ワッチョイ 375f-PSXp) [sage] 2019/05/11(土) 19:21:03 ID:2v2BzL6t0 >>486 言っておくが、python,C++,Java,javascript,C#,shellでできる事はC言語でも出来る 更に君が作ろうとしてるものや、やりたいことは、もう誰かが作ってる ましてや大規模になると、googleとかamazonと戦う羽目にもなる それが嫌ならプログラミングなんて辞めとけ http://mevius.5ch.net/test/read.cgi/tech/1554171817/488
489: デフォルトの名無しさん (ワッチョイ 9f2d-y0Vo) [sage] 2019/05/11(土) 19:32:35 ID:HOBfdmGr0 >>487-488 了解です、ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1554171817/489
490: デフォルトの名無しさん (ワッチョイ d7f6-y0Vo) [sage] 2019/05/11(土) 21:07:19 ID:glRpLuyC0 >>484-485 482は反対意見を述べているという意味でまだいいところがあったが てめーらは一方的な押しつけしか頭にない100%真のノイズだ http://mevius.5ch.net/test/read.cgi/tech/1554171817/490
491: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf3e-gMth) [sage] 2019/05/11(土) 21:28:03 ID:GtXmrqj00 >>490 既に解説があると示すのも質問に対する回答として十分だし、それで不満な理由がまるでわからん。 それが対話でないと断言するのも意味がわからん。 結局のところどうして欲しいの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/491
492: デフォルトの名無しさん (アウアウウー Sa1b-wdoq) [] 2019/05/11(土) 22:15:36 ID:YLmnNEXIa きっと寂しいんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/492
493: デフォルトの名無しさん (ワッチョイ d7f6-y0Vo) [sage] 2019/05/11(土) 22:49:22 ID:glRpLuyC0 >>491 意味がわからんからどうした? 平行線の相手に何か言って欲しいのか? http://mevius.5ch.net/test/read.cgi/tech/1554171817/493
494: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf3e-gMth) [sage] 2019/05/12(日) 10:19:15 ID:l86zXz3/0 >>493 そう決めつけて続きを拒むなら「一方的な押し付けしか頭にない」「対話がない」というまさにそれでしかなくね? 意味がわからんから解説してくれっての。 わからんことを理解する必要があるから対話になるんだろ。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/494
495: デフォルトの名無しさん (ワッチョイ d7f6-y0Vo) [sage] 2019/05/12(日) 11:22:06 ID:VeGHf8Lz0 >>494 自分の言葉で何か言えよと思う俺の意見を おまえ真っ向から全否定しただろ だから接点がないと判断したんだ 接点があるなら最初の態度を撤回しろ 話はそれからだ http://mevius.5ch.net/test/read.cgi/tech/1554171817/495
496: デフォルトの名無しさん (ワッチョイ 9f52-tfUF) [sage] 2019/05/12(日) 11:57:36 ID:7nn+3/Jt0 >>495 意見を全否定って、そりゃ異なる意見があるのは当然だろう。異なる考えなら議論にならないなんて、議論する気が無いだけだろう。 ついでだが、俺もお前さんの意見には反対だ。自分の言葉で書くかはまったく重要ではないと思う。お手軽に書ける掲示板のレスは言葉足らずだったり不正確な表現なことも多々あるが、それよりきちんと纏まった情報をリンクされた方がありがたいことも多い。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/496
497: デフォルトの名無しさん (ワッチョイ d7f6-y0Vo) [sage] 2019/05/12(日) 12:19:14 ID:VeGHf8Lz0 >>496 意見が異なるのと全否定は違うぞ 自分はこう思うと述べるのと おまえは間違っているというのの違いだ よくいるんだよ、どっかからの受け売りを壊れたレコードみたいに繰り返すだけなやつとか 俺は自分の知見からは何も出てこないのかよと思うことがあるが おまえはそれで満足なら勝手に満足してろよ そこが俺とおまえの違いだな http://mevius.5ch.net/test/read.cgi/tech/1554171817/497
498: デフォルトの名無しさん (ワッチョイ 9f79-ScLU) [sage] 2019/05/12(日) 15:34:15 ID:SbCKIsfP0 質問です テキストファイルから文字を1文字ずつ読み込んでchar型の2次元配列matrixに入れていきたい。 この時改行は配列に入れたくないときどうすれば良いですか? うまくいかないコード for (i=0;i<10;i++) { for (j=0;j<10;j++) { if (fgetc(fp) == ‘\n’) { continue; } matrix[i][j] = fgetc(fp); } } テキストファイルは行数と列数があらかじめ分かってるとして 例えば AAAAAAAAAA BBBBBBBBBB … のようなファイルです http://mevius.5ch.net/test/read.cgi/tech/1554171817/498
499: デフォルトの名無しさん (アウアウカー Saeb-NBbm) [sage] 2019/05/12(日) 15:51:11 ID:L7lYUohVa fgetc二回呼びたいの? http://mevius.5ch.net/test/read.cgi/tech/1554171817/499
500: デフォルトの名無しさん (ワッチョイ d77f-hzJM) [sage] 2019/05/12(日) 16:10:46 ID:7kDDqNbD0 >>498 continueだと内ループ先頭に戻るから違うんじゃないの http://mevius.5ch.net/test/read.cgi/tech/1554171817/500
501: デフォルトの名無しさん (ワッチョイ ff12-f8ez) [sage] 2019/05/12(日) 16:24:47 ID:R31sKZyy0 >>498 .for ... { . for ... { . char c = fgetc(fp); . if (c != '\r' && c != '\n') { . matrix[i][j] = c; . } . } .} http://mevius.5ch.net/test/read.cgi/tech/1554171817/501
502: デフォルトの名無しさん (ワッチョイ 9f79-ScLU) [sage] 2019/05/12(日) 17:12:05 ID:SbCKIsfP0 >>499 呼ばなくていいです >>501 これでもうまくいかないです http://mevius.5ch.net/test/read.cgi/tech/1554171817/502
503: 経団連 ◆T6xkBnTXz7B0 (ワッチョイ 1701-PJeF) [sage] 2019/05/12(日) 17:22:08 ID:uLUIsoqa0 for (i=0;i<10;i++) { for (j=0;j<10;j++) { matrix[i][j] = fgetc(fp); } fgetc(fp); //読み捨て } http://mevius.5ch.net/test/read.cgi/tech/1554171817/503
504: デフォルトの名無しさん (ワッチョイ b77c-NBbm) [sage] 2019/05/12(日) 17:29:14 ID:CrklWm7I0 変な例出すなよ… http://mevius.5ch.net/test/read.cgi/tech/1554171817/504
505: デフォルトの名無しさん (ワッチョイ 9f1e-bWAY) [sage] 2019/05/12(日) 17:29:29 ID:gzai7Rgq0 サイズが固定なら fread でよくない? そうすべきというほどのものでもないだろうが。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/505
506: デフォルトの名無しさん (ワッチョイ 577b-djxj) [sage] 2019/05/12(日) 17:35:10 ID:x4ccFx6b0 >>498 「うまくいかない」症状を見れば、もう少し見当がつくんだけど…。 格納先の配列を char matrix[LINES][CHRS]; とか定義して、 printf("%s\n", matrix[n]); で表示してるの違うかな。 各行の文字列の末尾にあるべき '\0' が格納されてない、みたいな。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/506
507: デフォルトの名無しさん (ワッチョイ ff63-gMth) [sage] 2019/05/12(日) 17:36:33 ID:JjryTeWM0 2重ループやめても良いか? while (1) { int c = fgetc(fp); if (c == EOF) { break; } if (c == '\n') { continue; } matrix[i][j] = c; j++; if (j == 10) { i++; j = 0; } } http://mevius.5ch.net/test/read.cgi/tech/1554171817/507
508: デフォルトの名無しさん (ワッチョイ ff63-gMth) [sage] 2019/05/12(日) 17:38:28 ID:JjryTeWM0 501の方法だと'\n'読んだ時に、スキップしているけど ループ変数の方は ++1 してるからズレてくる http://mevius.5ch.net/test/read.cgi/tech/1554171817/508
509: デフォルトの名無しさん (ワッチョイ 9f79-ScLU) [sage] 2019/05/12(日) 18:35:08 ID:SbCKIsfP0 >>503 >>507 どちらも行けました 507のは理解できるんですが 503の読み捨てというのはどう言うことなのでしょうか http://mevius.5ch.net/test/read.cgi/tech/1554171817/509
510: デフォルトの名無しさん (ワッチョイ ff63-gMth) [sage] 2019/05/12(日) 18:43:30 ID:JjryTeWM0 >>509 10個読んで1個捨てる http://mevius.5ch.net/test/read.cgi/tech/1554171817/510
511: デフォルトの名無しさん (ワッチョイ 3702-vVMj) [sage] 2019/05/13(月) 20:38:42 ID:WOFscy660 バッファにつめるところを簡単にしてみた。 https://ideone.com/fJ91BI http://mevius.5ch.net/test/read.cgi/tech/1554171817/511
512: デフォルトの名無しさん (オッペケ Sr8b-lJiK) [sage] 2019/05/14(火) 06:41:01 ID:7SLYc+Rqr OSSで構造体を公開しようとおもってる そのサイズをバージョンアップしても固定にしたいんだけどいいアイデアないかな? struct foo { int a; double b; // ここをバージョンアップで追加 } char[100] buffer; 上記を予め含めておいて、追加サイズ分だけ減らすってのがよくある手段だと思うけど、intや他の型が固定サイズの保証はないから、処理系をかんがえると使えない パディングでサイズも変わっちゃうしね C++ならテンプレートでいけるけど、OSSだから利用者が多いC言語で書いておく必要がある 構造体を公開しないで、ハンドラとセッタで扱えばいけるだろうけど、今回は構造体でいきたい http://mevius.5ch.net/test/read.cgi/tech/1554171817/512
513: デフォルトの名無しさん (ワッチョイ 9ff9-vVMj) [sage] 2019/05/14(火) 08:01:00 ID:YNmKUGxB0 「sizeof(int)が環境依存」を前提にするなら バージョンアップ以前のint a;だけでもう既にサイズ固定じゃないじゃん int32_tですら必ずある保証はないよ 「汎用な記述で全ての環境に対応したい」ってのが、土台無理な注文なのよ 低レベルなことやるなら、サポートする環境を列挙限定しなければならない 素直に「よくある手段」でやりなさいってことだ http://mevius.5ch.net/test/read.cgi/tech/1554171817/513
514: デフォルトの名無しさん (アークセー Sx8b-Vhni) [sage] 2019/05/14(火) 08:07:10 ID:0o/9QF7Tx >>512 処理系によるパディングとかの問題を別にしたら、bufferをunionにしといたらわざわざ減らさなくても良いのでは? http://mevius.5ch.net/test/read.cgi/tech/1554171817/514
515: デフォルトの名無しさん (オッペケ Sr8b-lJiK) [sage] 2019/05/14(火) 08:25:38 ID:7SLYc+Rqr >>513 たしかにint aですでに違うね ただ今回考えてるのは、コンパイルせずに共有ライブラリを差し替えるって状況を想定してる そのときにセグメンテーションフォールトがでないようにしたい だから、すべての処理系で同じサイズにしたいってわけじゃなくて、同じ処理系の中ではバージョンにかかわらずサイズを保ちたいってことなんだよね 説明不足ですまん http://mevius.5ch.net/test/read.cgi/tech/1554171817/515
516: デフォルトの名無しさん (アウアウエー Sadf-NBbm) [sage] 2019/05/14(火) 08:36:30 ID:2RiYyx1fa あらゆる環境だったらシリアライズしないとだし。 同じ処理系だったら同じ構造体でいいだろうし。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/516
517: デフォルトの名無しさん (ワッチョイ ff69-PnGR) [sage] 2019/05/14(火) 13:41:09 ID:d9/Wmgv60 >>514 のはこんな感じですかの union foo { struct { int a; double b; // ここをバージョンアップで追加 }; char dummyBuffer[100]; }; http://mevius.5ch.net/test/read.cgi/tech/1554171817/517
518: デフォルトの名無しさん (ワッチョイ ff69-PnGR) [sage] 2019/05/14(火) 13:59:44 ID:d9/Wmgv60 構造体の大きさが char[100] に収まってる範囲での話 >>512 のように末尾に用意したギャップを引き算していくにしても、引ききれなくなった段階で破綻するよね ※ 突破したことをチェックするには sizoef(union foo) と sizeof(char[100]) とを比較すんのかなぁ… http://mevius.5ch.net/test/read.cgi/tech/1554171817/518
519: 経団連 ◆T6xkBnTXz7B0 (ワッチョイ 1701-PJeF) [sage] 2019/05/14(火) 14:09:24 ID:4po1tQ0w0 C99 <stdint.h>のuint*_t型を使った方がいいと思う。 http://mevius.5ch.net/test/read.cgi/tech/1554171817/519
520: デフォルトの名無しさん (アウアウエー Sadf-NBbm) [sage] 2019/05/14(火) 14:39:04 ID:2RiYyx1fa 普通符号付きでしょ http://mevius.5ch.net/test/read.cgi/tech/1554171817/520
521: デフォルトの名無しさん (ワッチョイ 7f7c-gMth) [sage] 2019/05/14(火) 14:51:20 ID:5nOlmwWa0 符号プログラミングか http://mevius.5ch.net/test/read.cgi/tech/1554171817/521
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 481 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.047s