[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
747: デフォルトの名無しさん (ブーイモ MM26-xG3a) [sage] 2025/03/28(金) 15:47:02.39 ID:v2Oxq7uoM されない http://mevius.5ch.net/test/read.cgi/tech/1721137434/747
748: 740 (ワッチョイ 492a-mzfN) [sage] 2025/03/28(金) 17:27:47.76 ID:+OZuQWBg0 >>745 > printf("%ju", (uintmax_t) x); なるぽろ。ありがとう。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/748
749: デフォルトの名無しさん (ササクッテロラ Spf1-7PGi) [sage] 2025/03/28(金) 19:09:11.37 ID:Yj8GIx0sp なんだよjって、何の略だ? http://mevius.5ch.net/test/read.cgi/tech/1721137434/749
750: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/28(金) 22:16:42.65 ID:gM96YdDw0 >>749 なんらかの単語の略 (頭文字) というわけではないらしいよ。 > j is sort of like "i" for integer https://www.open-std.org/jtc1/sc22/wg14/www/docs/n833.htm http://mevius.5ch.net/test/read.cgi/tech/1721137434/750
751: 警備員[Lv.2][新芽] (ワッチョイ 6dcd-maST) [sage] 2025/03/28(金) 23:06:36.11 ID:UFqBPtr80 μ→uみたいなものか 大文字の I はもう使われてふのかな? http://mevius.5ch.net/test/read.cgi/tech/1721137434/751
752: デフォルトの名無しさん (アウアウウー Saa5-WcQO) [] 2025/03/29(土) 16:07:35.02 ID:M3jsTRd4a long long や unsigned long long の出力に %lld や %llu って昔は使えてた気がするが 最近はだめなんかな %I64 とか %U64 みたいなのになってるん http://mevius.5ch.net/test/read.cgi/tech/1721137434/752
753: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/29(土) 16:54:36.19 ID:HRez4USp0 >>752 I64 とかはマイクロソフトの拡張。 新しい方法じゃなくてむしろ古い方法が互換性のために残されているだけ。 今となってはあえて使う理由はない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/753
754: デフォルトの名無しさん (ワッチョイ 2e2a-aKLX) [] 2025/03/29(土) 17:30:28.12 ID:bd7PveSA0 >>752 > %I64 とか %U64 移植が大変そうね。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/754
755: デフォルトの名無しさん (ワッチョイ a92a-K+vz) [sage] 2025/04/08(火) 18:05:53.82 ID:f9O97Hv70 sudo で実行すると execl が動作しないように見える。なぜ? $ cat -n e.c 1 #include <stdio.h> 2 #include <unistd.h> 3 4 int main() { 5 pid_t pid; 6 if ((pid = fork()) > 0) return 0; 7 else if (pid < 0) return 1; 8 execl("/bin/bash", "/bin/bash", "-c", "echo $$ $PPID >> /tmp/log", NULL); 9 _exit(2); 10 } $ gcc -g e.c $ ./a.out $ cat /tmp/log 10593 1566 $ sudo ./a.out $ cat /tmp/log 10593 1566 $ http://mevius.5ch.net/test/read.cgi/tech/1721137434/755
756: 627 (ワッチョイ 22ca-VGeA) [] 2025/04/08(火) 19:31:31.59 ID:HmugccjD0 まずコピーするなら手を入れるな手を入れると他も全部疑わなきゃいけなくなる それからsudo -E ./a.outとsudo strace ./a.outを試せ http://mevius.5ch.net/test/read.cgi/tech/1721137434/756
757: デフォルトの名無しさん (ワッチョイ 798a-GhsC) [] 2025/04/08(火) 19:45:35.63 ID:dAM9KaxA0 縦の数字はなに? 普通にエラーになるだろそれ http://mevius.5ch.net/test/read.cgi/tech/1721137434/757
758: デフォルトの名無しさん (ワッチョイ a9b3-K+vz) [sage] 2025/04/08(火) 20:08:58.79 ID:0fraKCca0 catの引数に-n指定してるからだろ http://mevius.5ch.net/test/read.cgi/tech/1721137434/758
759: デフォルトの名無しさん (ワッチョイ 4dc4-xzp7) [] 2025/04/08(火) 20:57:19.94 ID:brzdTu7q0 手元にあるfedora で試したが、 sudo ./a.out の結果表示は2行になった 多分、正常に処理できたようだ http://mevius.5ch.net/test/read.cgi/tech/1721137434/759
760: 警備員[Lv.1][新芽] (ワッチョイ 4df5-hVWE) [sage] 2025/04/08(火) 22:40:53.76 ID:NxLLuNcW0 うちはダメでした >>755 と同じような結果です ubuntu22.04 lts http://mevius.5ch.net/test/read.cgi/tech/1721137434/760
761: 警備員[Lv.1][新芽] (ワッチョイ 4df5-hVWE) [sage] 2025/04/08(火) 22:43:01.77 ID:NxLLuNcW0 あ、次のようにしたときです sudo ./a.out /tmp/log に追記されませんでした http://mevius.5ch.net/test/read.cgi/tech/1721137434/761
762: 755 (ワッチョイ a92a-ZtHn) [] 2025/04/08(火) 22:49:40.17 ID:Rmhs1Vne0 >>759 えー!? と別環境で実行したら、sudo でも execl が動作したように見える。なにこれ。 $ ./a.out $ cat /tmp/log 13706 1 $ sudo ./a.out $ cat /tmp/log 13706 1 13721 1 $ 取り敢えず、うちの Ubuntu の「おま環」問題のようでした。お騒がせしました。 ただ、今回のは bash の $PPID が init (1) になるという新たな謎が... http://mevius.5ch.net/test/read.cgi/tech/1721137434/762
763: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/09(水) 00:22:33.67 ID:06ntJanv0 親プロセスが先に死んだら子は init の養子になる。 だけどこの場合だとどちらが先に死ぬかはプロセスのスケジューリング次第で状況によるってことなんじゃないのかな。 Linux の事情はよく知らんけど。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/763
764: デフォルトの名無しさん (ワッチョイ 4df4-bRAX) [sage] 2025/04/09(水) 00:23:29.81 ID:Z/QH/Jgt0 Linux 板で聞いた方が回答ありそうな気がする。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/764
765: デフォルトの名無しさん (ワッチョイ ae7e-GhsC) [] 2025/04/09(水) 15:00:16.84 ID:cB69i6Vg0 const unsigned char t100_day[3807] PROGMEM = { 0x89, 0x50, 0x4e, 略, } const unsigned char t100_night[3568] PROGMEM = { 0x89, 0x50, 0x4e, 略, } String tenki_i = "01"; char*const unsigned char t100_day[3807] PROGMEM = { 0x89, 0x50, 0x4e, 略, } const unsigned char t100_night[3568] PROGMEM = { 0x89, 0x50, 0x4e, 略, } String tenki_i = "01"; char* y_icon; // FIXME 型が分からない if (tenki_i == "01") y_icon = "t100_day"; else if (tenki_i == "01_n") y_icon = "t100_night"; else if (tenki_i == "08") y_icon = "t200_day"; else if (tenki_i == "08_n") y_icon = "t200_night"; else y_icon = "t999_day"; sprite.drawPng((std::uint8_t*)y_icon, sizeof(y_icon), 0, 25); t100_dayなどは画像なんですけど、tenki_iの中のstrによって画像を変えたいです。 y_iconはどうやって指定したらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/765
766: デフォルトの名無しさん (ワッチョイ ae7e-GhsC) [] 2025/04/09(水) 15:01:47.32 ID:cB69i6Vg0 >>765 コピペ間違えました 正しくは以下です char*const unsigned char t100_day[3807] PROGMEM = { 0x89, 0x50, 0x4e, 略, } const unsigned char t100_night[3568] PROGMEM = { 0x89, 0x50, 0x4e, 略, } String tenki_i = "01"; char* y_icon; // FIXME 型が分からない if (tenki_i == "01") y_icon = "t100_day"; else if (tenki_i == "01_n") y_icon = "t100_night"; else if (tenki_i == "08") y_icon = "t200_day"; else if (tenki_i == "08_n") y_icon = "t200_night"; else y_icon = "t999_day"; sprite.drawPng((std::uint8_t*)y_icon, sizeof(y_icon), 0, 25); t100_dayなどは画像なんですけど、tenki_iの中のstrによって画像を変えたいです。 y_iconはどうやって指定したらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/766
767: デフォルトの名無しさん (スッップ Sd22-yI6P) [] 2025/04/09(水) 15:16:14.76 ID:qDwL9bg0d >>755もそうだし書いちまったもんはしょうがねーけどコードを載せる時は どうしろこうしろって書いてあんだから従えよ アンタどこ行ってもそんな感じなのか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/767
768: デフォルトの名無しさん (ワッチョイ 79f9-GhsC) [] 2025/04/09(水) 15:24:40.77 ID:Hnk7Q6m60 すみません、書き直しました https://ideone.com/CSy0Nb t100_dayなどは画像なんですけど、tenki_iの中のstrによって画像を変えたいです。 y_iconはどうやって指定したらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/768
769: デフォルトの名無しさん (ワッチョイ 06a6-9hLw) [sage] 2025/04/09(水) 15:27:10.13 ID:lI8vd/RJ0 >>755 fork呼んだ親プロセスがreturn 0でいきなり終わってるのがダメ wait呼んでプロセスの終了待ちしろ http://mevius.5ch.net/test/read.cgi/tech/1721137434/769
770: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/09(水) 18:01:06.77 ID:06ntJanv0 >>768 その断片的なプログラムではよくわからんが型を合わせるだけなら y_icon の宣言はこうなるべきだと思う。 const unsigned char* y_icon; http://mevius.5ch.net/test/read.cgi/tech/1721137434/770
771: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/09(水) 18:30:26.27 ID:06ntJanv0 >>768 ところでそれは C++ じゃない? なんでこのスレで聞くの……。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/771
772: 755 (ワッチョイ 6e2a-ZtHn) [] 2025/04/09(水) 19:53:07.12 ID:dFJfWRF+0 >>769 「お騒がせしました。」と言ったので、勝手ながら質問を終えた気がしていた。見てくれて有り難う。 >>755,762 については、Ubuntu においても sudo で execl は動作していた。 動作しないように見えたのは、Ubuntu 特有のファイル権限設定があり、root といえどもファイルにアペンドできないせいだった。Qiita にあったサマリが解りやすい。 https://qiita.com/skyflare2001/items/1c1934b1d2f405228334#2025118-追記 > Ubuntu の /tmp のユーザファイルに root で追記できない 全く C言語に関係なかった。ごめんちゃい。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/772
773: デフォルトの名無しさん (アウアウウー Sa21-NXaD) [] 2025/04/20(日) 14:12:51.27 ID:RiHDJnuQa stdbool.h 真面目に使ってる人いる?あるいは使ってない方がおかしい? http://mevius.5ch.net/test/read.cgi/tech/1721137434/773
774: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7932-C6fW) [sage] 2025/04/20(日) 16:06:51.19 ID:srj6a33k0 原則としては論理型が必要であれば stdbool.h (内で定義される bool) を使うべきだと思う。 論理型が C99 で導入されるより前の古いプログラム中で bool という名前を使っている場合に配慮して論理型の名前を _Bool にした上でその別名の bool を stdbool.h 内で定義するという変な構成になっている。 (もし bool という名前を独自の定義で使っている場合は単に stdbool.h を使わないという選択が可能。) このような状況から、互換性の問題がなければ論理型は bool という名前にしたかったし、論理型の値は true, false と書きたいという意図が感じられる。 自分が書くプログラム内で名前が衝突するような問題がないのなら意図に乗っかっておくのが無難そうに思われる。 C23 からは bool, true, false がキーワードとして直接にサポートされるようになって stdbool.h は意味を失いただ存在するだけになった。 こういう変更をする以上はこれが C のあるべき新しい姿と考えられてるってことなんだろう。 stdbool.h を使うことで (古い規格でも) 新しい姿を先取りできるわけ。 ただ、 C23 の変更はちょっとだけ互換性を損なう部分があるから注意を要する。 stdboo.h で定義される旧来の true, false は 1, 0 に展開されるマクロで、要するに型で言えば int だった。 C23 からの true, false は bool 型のリテラルという立場を持つ。 これが問題になるケースはそれほどないとは思うけど……。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/774
775: デフォルトの名無しさん (ワッチョイ a95f-0ulL) [sage] 2025/04/20(日) 16:30:31.97 ID:VYLrteqj0 bool型だと関数成功はtrueで1 int型だと関数成功で0とか普通 混ぜるな危険 http://mevius.5ch.net/test/read.cgi/tech/1721137434/775
776: デフォルトの名無しさん (ワッチョイ 6db1-h0BB) [sage] 2025/04/20(日) 17:33:04.38 ID:SQJ2+pRN0 戻り値が負数ならエラーってやつが(ry http://mevius.5ch.net/test/read.cgi/tech/1721137434/776
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 226 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s