[過去ログ] C言語なら俺に聞け 163 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
271
(1): (ワッチョイ 022d-w5sm) 2024/09/26(木)16:39 ID:oesVQEFi0(2/2) AAS
>>269
君の問題点は規格読んでるの間違えてるとこだよ
272: はちみつ餃子◆8X2XSCHEME (ワッチョイ e332-Pvcq) 2024/09/26(木)16:48 ID:B+Au+yIB0(2/2) AAS
>>271
規格を根拠にしてたら間違えてる箇所は間違えていると反論できるだろ。
根拠がないよりは良い。

ところでどこに間違いがあった?
273
(2): (ワッチョイ 63e3-VZV9) 2024/09/26(木)23:55 ID:jCy2QsTx0(1) AAS
>>235
これの1行目は文字列長によらず固定値にならない?
char* と char[] を区別できてないように思う

// これは (ヌル文字を含む) 4バイトのデータがスタック上に作られる
// sizeof(a1) の結果は文字列数により変わる
char a1[] = "abc";

// こう書いた場合、文字列の実体は静的な領域 (テキスト領域) に確保され、
省3
274: (ワッチョイ 63e3-VZV9) 2024/09/27(金)00:02 ID:ju4/Ooeg0(1/2) AAS
char* でも char[] でも、a[n] と書けばn文字目を参照するのは変わらない
これはポインタの [] 演算子は「ポインタをn個進めた位置の要素を参照する」ため、結果的には配列と変わらないから
だけど前述の a1 と a2 は違う型なので、そこは注意が必要

たぶん VS Code でC言語の拡張を入れてれば、上記のように書いた変数のところにカーソルを当たるとヒントが出るので、それで確認できると思う
それか実際に動かして sizeof の結果を見るか
275: はちみつ餃子◆8X2XSCHEME (ワッチョイ e332-Pvcq) 2024/09/27(金)00:16 ID:dEIfxD4z0(1/2) AAS
>>273
> これの1行目は文字列長によらず固定値にならない?

その通りだよ。 固定値になってたぶん意図通りではない。
その話は >>222 がボコボコに言われてもう終わったよ。
276: (ワッチョイ d27c-tavX) 2024/09/27(金)00:20 ID:qUi2cfOF0(1) AAS
もう >>222 を晒すのはやめてあげて......
277: (ワッチョイ 1663-7cnK) 2024/09/27(金)00:22 ID:xb00usC10(1) AAS
222は釣りでしょう
278
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ e332-Pvcq) 2024/09/27(金)00:23 ID:dEIfxD4z0(2/2) AAS
あ、ひょっとすると >>273 は話題を誤解してるのか。
「仮引数が配列形式だった場合にポインタに調整されるルール」が話題の中心。
仮引数として現れないと意味ない。
279: (ワッチョイ 63e3-VZV9) 2024/09/27(金)07:31 ID:ju4/Ooeg0(2/2) AAS
>>278
すまん自分が直近のレスだけ見て話題を早とちりしてた
だいたい流れは分かった
280
(2): (ワッチョイ 2b65-ebyo) 2024/10/15(火)13:20 ID:+DYHSMWW0(1/3) AAS
初歩的な質問で申し訳ないんだけど
プログラムをユーザーの入力によって一時停止させるのってどうしたら良い?
pauseで入力待ちにするとかフラグを間に挿入するとかではなくユーザーからの入力があった場合のみ一時停止したい
281
(1): (ブーイモ MM7f-tEjz) 2024/10/15(火)13:29 ID:WZg8MP0BM(1/2) AAS
まずメインの処理を一時停止可能な作りに変える
282
(1): (ワッチョイ 3b80-C3fO) 2024/10/15(火)13:32 ID:nD7e5Gmv0(1) AAS
>>280
ソースコードの中にファイル名がpauseのファイルが存在するかを判断するロジックを追加
もし存在するならループに入りそれが消えるまで待てばいい
283
(1): (ブーイモ MM7f-tEjz) 2024/10/15(火)13:32 ID:WZg8MP0BM(2/2) AAS
あとコンソールプログラムなのか?
環境を正確に書きな
284
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ fb32-aM+D) 2024/10/15(火)13:37 ID:C4BE9tl00(1/2) AAS
>>280
C は言語として規定している範囲はかなり狭くて、細々とした制御には環境依存の方法が必要になることが多い。
ホスト環境によって作法が違う。
285
(1): (ワッチョイ 2b65-ebyo) 2024/10/15(火)13:47 ID:+DYHSMWW0(2/3) AAS
>>281
根本からなのね
>>282
初心者なもんで、一つのファイル内で完結したら嬉しいなーなんて
>>283
とりあえずコンソールで作ってる
環境はVS2022だけでおk?
省2
286: (ササクッテロ Sp0f-0GI8) 2024/10/15(火)13:51 ID:9xoHIO4Lp(1) AAS
環境依存でデバイス依存だからなぁ
287
(1): (ブーイモ MM7f-tEjz) 2024/10/15(火)14:34 ID:UH8LrgydM(1/2) AAS
やりたいことがnon blockingでgetcharしたいってことだとするとwindowsだconsole apiを使う
例えばwindowsのreadline互換実装であるwineditlineを見るといい
288
(1): (ブーイモ MM7f-tEjz) 2024/10/15(火)14:36 ID:UH8LrgydM(2/2) AAS
ただめんどうなので今回のように止めたいだけならこういう簡易的なやりかたがある
外部リンク:stackoverflow.com
289: (ワッチョイ 2b65-ebyo) 2024/10/15(火)20:06 ID:+DYHSMWW0(3/3) AAS
>>287
一行目の通りで合ってると思う
念の為やりたいことを挙げておくと、メディア再生中の一時停止とかゲーム中のポーズ画面みたいなものだと思ってもらえれば良い
ただ、2行目のreadlineは日本語でググったりヘルプで検索かけたけどよくわからん
>>288
すごい簡単だね、これなら作れるかもしれない
入門書に記載がないのが唯一の不満だよ
290: はちみつ餃子◆8X2XSCHEME (ワッチョイ fb32-UOzH) 2024/10/15(火)21:39 ID:C4BE9tl00(2/2) AAS
>>285
言語の古さというより用途だろう。
低レイヤ部分を実装する用途に使う言語だから重厚なランタイムサポートを必要とする機能は入れられない。
291: (ワッチョイ 0b02-xPbt) 2024/10/30(水)01:54 ID:BzmMNap80(1) AAS
いにしえの議論掘り返してすまんが、>>182の例示による説明が最も本質を突いてるように思う、感謝のレス

文字列リテラルは配列初期化子の構文糖でありながら、また文字列をも表すという二義性を持つ、という云うのはあくまで言語設計の為の汚いハックでしかなかろ?
292: (ササクッテロ Spc5-O2Yz) 2024/10/30(水)10:28 ID:BRGgIRAsp(1) AAS
Cの変数の型指定なんて気休めだからなぁ
293: (ワッチョイ 0b02-xPbt) 2024/11/01(金)06:24 ID:+lXxXu7p0(1) AAS
気休めじゃなくて気疲れの間違いだろ
長さやsignednessでわけわからん変換しやがるバグの根源と言ってもいい
294: (ワッチョイ 8b63-IjZm) 2024/11/01(金)11:11 ID:YgeQjLzz0(1) AAS
訳が理解できるようになるまで、お前は使用禁止
295
(2): (ワッチョイ 622d-CyeO) 2024/11/03(日)13:27 ID:N1lOck0q0(1) AAS
外部リンク:togetter.com
こんな事本当にあるのか?
296: (ワッチョイ f6b7-UxC2) 2024/11/03(日)13:36 ID:e8fWHn4Q0(1) AAS
もともとバグってたのを対処療法で回避しただけじゃねーの?
そんな驚愕するほどのこととは思わんな
スペースは文字列に加えるってことだろ
297: (ワッチョイ 5e63-kEEx) 2024/11/03(日)13:45 ID:WzNRcFfL0(1/2) AAS
ちゃんとソースを公開すればみんなで治してくれるよ
298: (アウアウエー Sada-GGiU) 2024/11/03(日)16:06 ID:XxnHrPnRa(1) AAS
バイバイおさるさん
299: (ワッチョイ 3679-NO1F) 2024/11/03(日)17:27 ID:4RaSizfZ0(1) AAS
char []s = "うんこ"
s[20] = 0; // どっか判り難いとこにこんなのが紛れてる
回答「(sに)もっとスペースを追加して!」
300: (ワッチョイ 5e63-kEEx) 2024/11/03(日)17:39 ID:WzNRcFfL0(2/2) AAS
どこか知らない国で "うんこ" が40バイトくらいある所があったりして
301: はちみつ餃子◆8X2XSCHEME (ワッチョイ f532-JeGG) 2024/11/03(日)19:33 ID:/vDzNoeA0(1) AAS
業務だとヨソの担当のモジュールに口出しするのがめんどいから対処療法で握りつぶすみたいなことはあるのかもしれん。
302
(1): 警備員[Lv.1][新芽] (ワッチョイ 1259-WgI6) 2024/11/03(日)20:22 ID:5dhdDFeF0(1) AAS
s("※んこ"の値)は読み取り専用になるんじゃないかな
処理系によるかもしれないけど
303: (ワッチョイ 3679-NO1F) 2024/11/04(月)01:39 ID:rgFUj3k30(1/3) AAS
>「ここにスペースを入れてみて」「もっと沢山、もっともっと」
この辺りコピペ怪文書にしか思えないんだが
境界チェックしない言語ならありふれたバグだし、元文書はちんぽとかだったんじゃないだろうか
304: (ササクッテロラ Sp79-P7MY) 2024/11/04(月)13:45 ID:UGhFqLBmp(1) AAS
どうせメモリーリークだろうな
データ位置を変えると現象が変わるなんて典型的だろ
305: 警備員[Lv.5][新] (ワッチョイ 757b-WgI6) 2024/11/04(月)13:48 ID:nJwTTfVk0(1) AAS
>>302
誤りでした
306: (ワッチョイ 5e63-kEEx) 2024/11/04(月)14:02 ID:SHEOgeyw0(1) AAS
パンパース当てるのが正しい
307: (ワッチョイ 3679-NO1F) 2024/11/04(月)20:44 ID:rgFUj3k30(2/3) AAS
おむつってあんま進化してないよな
吸収率だとか漏れだとかそんなのは上がってるだろうが、基本的な機能は変わらない
介護業界でも排泄介助っていう高齢者の汚物処理って割と大変な部類だと思うんだが
そろそろおもつ革命を起こさないと業界崩壊するんじゃないの
プログラミングでなんとかできませんかね
308: (ワッチョイ 3679-NO1F) 2024/11/04(月)20:51 ID:rgFUj3k30(3/3) AAS
高齢者に限らず若い子でもうんこ漏らす時は漏らすし、そういう緊急時にも安心できるぐらいのものがそろそろ欲しいな
紙ベースで吸収率だとかで脳が退化してるおむつメーカーではおむつ革命はとても期待できないだろう
309: (ワッチョイ 0920-pds3) 2024/11/04(月)21:52 ID:lap6rdZH0(1/3) AAS
介護対象に飲ませるうんこがあまり臭くなくなる薬みたいな技術は進化してるぞ
310
(1): (ワッチョイ f532-Q1tn) 2024/11/04(月)22:10 ID:TtMQ1IOc0(1) AAS
薬で臭くなくしたうんこだからといって介護対象に飲ませるのはどうかと思うぞ。
311: (ワッチョイ 0920-pds3) 2024/11/04(月)22:15 ID:lap6rdZH0(2/3) AAS
>>295
こんなんじゃね

#include <stdio.h>
#include <string.h>
#include <limits.h>

int main(void)
{
省4
312: (ワッチョイ 0920-pds3) 2024/11/04(月)22:17 ID:lap6rdZH0(3/3) AAS
>>310
完全に臭くなくなる訳ではないのでおk
313: (ワッチョイ 01c3-bxGr) 2024/11/04(月)22:57 ID:nqjJRhEX0(1) AAS
ニホンゴ ムズカシイネ
314: (ワッチョイ 92ad-guIA) 2024/11/05(火)05:14 ID:srt1vo+S0(1) AAS
逆に考えるんだ。うんこはどうしても出てしまう。だったらそれはそのままにしておけ。
介護する側がそれを気にせず処理出来るのであれば問題は消滅する。だから介護者が
それを気にならなくなるような精神に効く薬を作れば良いんだ。
315
(1): 2024/11/05(火)06:59 ID:tCS75Iej0(1) AAS
>>295って実行時エラーの話なのかコンパイル時エラーの話なのかもわからなくない?
316: (ワッチョイ b5b4-8Jbz) 2024/11/05(火)15:17 ID:wPeW8RQX0(1) AAS
NASAはネットなんてなかった1970年代にボイジャー1号打ち上げて
240億km離れててもプログラムを送受信してるのに俺らときたら
317: (アウアウエー Sada-GGiU) 2024/11/05(火)21:46 ID:JaQWNq5Na(1) AAS
どうみても脳筋エラー
318: (ワッチョイ 8101-Q1tn) 2024/11/05(火)21:49 ID:qHb8dozk0(1) AAS
脳筋がCを使いません
319: (ワッチョイ 5e63-kEEx) 2024/11/05(火)22:03 ID:MR2KM4Hj0(1) AAS
240億kmの伝書鳩
320: (ワッチョイ 3679-NO1F) 2024/11/06(水)09:37 ID:csbv8Qbd0(1) AAS
1970年代にもテレビやラヂオはあったわけでね…
321: (ワッチョイ 5e63-kEEx) 2024/11/07(木)17:53 ID:RjbHlnZn0(1) AAS
1960年代はラジオ少年が秋葉原詣でしてたな
322
(3): (ワッチョイ 7161-m4Ma) 2024/11/07(木)22:04 ID:E5qLHtEE0(1) AAS
質問失礼

LPTSTR lptStr = TEXT("テスト");
って書くとE0144とC2044ってエラーを吐くんだがプロパティの文字セットって項目を設定なしにすると正常に処理されるのはどういう理屈なの?
const wchar_t[]からLPTSTRに変換できませんってメッセージ出るし型が違うのかなと思うが
だとしたら何故文字設定いじれば解消するのかもよくわからない
323
(1): 警備員[Lv.1][新芽] (ワッチョイ e9eb-WgI6) 2024/11/07(木)22:09 ID:QiubzAbP0(1/2) AAS
LPCTSTR ではダメですか?
当てずっぽうですが
324
(1): 警備員[Lv.1][新芽] (ワッチョイ e9eb-WgI6) 2024/11/07(木)22:10 ID:QiubzAbP0(2/2) AAS
>>323
そういうことじゃないのか、ごめんなさい
325
(1): (ワッチョイ f637-UxC2) 2024/11/08(金)09:56 ID:tVfxyvn80(1) AAS
>>322
設定変えても依然エラーだが
VS Community 2022
326: (ワッチョイ 7161-m4Ma) 2024/11/08(金)10:31 ID:+8UCAN2P0(1/7) AAS
>>324
気持ちだけで十分よ
327
(1): (ワッチョイ 7161-m4Ma) 2024/11/08(金)10:32 ID:+8UCAN2P0(2/7) AAS
>>325
2022だと設定項目見つからなかったから2012でやった、そしたら上記の結果になるんすよねえ
328
(1): (ササクッテロラ Sp79-P7MY) 2024/11/08(金)10:36 ID:ce4XJJ6Np(1) AAS
最近のVSはCの当たり前な構文が通用しないから困るよな
329: (ワッチョイ 7161-m4Ma) 2024/11/08(金)10:51 ID:+8UCAN2P0(3/7) AAS
>>328
Visual Studio側の問題なのこれ?
330
(1): (ブーイモ MM96-UxC2) 2024/11/08(金)11:51 ID:y6pbbxPDM(1) AAS
>>327
2022で設定変えたって書いただろ
あほなのか
331
(1): (アウアウエー Sada-GGiU) 2024/11/08(金)12:18 ID:F9yTI1pla(1/4) AAS
LPTSTR lptStr = L"テスト";
332: (アウアウエー Sada-GGiU) 2024/11/08(金)12:20 ID:F9yTI1pla(2/4) AAS
あと
#define UNICODE
#define _UNICODE
だったかな
333: (アウアウエー Sada-GGiU) 2024/11/08(金)12:28 ID:F9yTI1pla(3/4) AAS
それでもだめなら
文字コードが違うんじゃないですかね
334: (ワッチョイ 7161-m4Ma) 2024/11/08(金)12:59 ID:+8UCAN2P0(4/7) AAS
>>330
どストレートな罵倒は久しぶりに聞いたよ
高校上がってからは聞かなくなったけどね
335: (ワッチョイ 7161-m4Ma) 2024/11/08(金)13:00 ID:+8UCAN2P0(5/7) AAS
>>331
ありがとう、だけどダメそうだ
文字コード関連のエラーなんだろうけどどうしたものか
336
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ f532-Q1tn) 2024/11/08(金)13:02 ID:Me1tPYCI0(1/2) AAS
char と wchar_t の不整合じゃなくて const の有無の問題じゃないの?

C++ で文字列リテラルまわりの扱いで仕様変更があったからそれに関係してるのかも?
C++ での文字列リテラルの型は const char[] (ワイド文字リテラルの場合は const wchar_t[]) だが、文字列リテラルから直接変換する場合に限り char* (ワイド文字リテラルの場合は wchar_t*) に暗黙に変換して構わないというルールが C++03 まではあって、このルールは C++11 で削除されたという経緯がある。
つまり C++11 以降は文字列リテラルから暗黙には const を剥がすことが出来ない。 (キャストを書けば出来るけど。)

C では文字列リテラルの型は元から char[] で、 const が付いてない。
だから const まわりの制限とは関係ないんだが、これは C の仕様のほうがおかしいし、 C++ と同様の判定をしたほうが理に適っているとマイクロソフトが考えることはあるかもしれない。
337
(1): (アウアウエー Sada-GGiU) 2024/11/08(金)13:18 ID:F9yTI1pla(4/4) AAS
E0144 エンティティの初期化
型”cont wchar_t *"の値を使用して"wchar_t *"のエンティティを初期化することはできません

C2044は関係無い
338
(1): (ワッチョイ 7161-m4Ma) 2024/11/08(金)14:51 ID:+8UCAN2P0(6/7) AAS
>>336
なるほどね、LPTSTRがchar*だから代入できないって話になるのか
それがわかったらエラー文にかいてあることが理解出来るね

昔の仕様だとconst charに見えて実際は違かったってこと?
それなら今回のコードもエラー吐かないし悩まなくてよかったのに
339: (ワッチョイ 7161-m4Ma) 2024/11/08(金)14:52 ID:+8UCAN2P0(7/7) AAS
>>337
関係ないの?LPSTRに代入できませんって言ってるように見えるけど
340: (ササクッテロラ Sp79-P7MY) 2024/11/08(金)16:25 ID:1lsgaMlnp(1) AAS
signedとunsignedでも怒り狂うからなぁw
いいんだよ、こっちは中身しってんだから余計なエラー吐くなよ
341
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ f532-Q1tn) 2024/11/08(金)17:24 ID:Me1tPYCI0(2/2) AAS
>>338
> 昔の仕様だとconst charに見えて実際は違かったってこと?

C の規格としては本来的に文字列リテラルの型には const は付かない。
これは今も昔も同じ。 変更はない。

なので何かが変わったとしたらマイクロソフトの独自仕様。
私はそのへんに詳しいわけじゃないけど C++ の規格改定に引きずられた可能性は想像できるなぁというぼんやりした予想なので経緯はわからぬ。

でもまあ結果的に const の問題ってのは妥当なみたいだね。
342
(1): (ワッチョイ 3679-NO1F) 2024/11/09(土)14:04 ID:L+GgUCLJ0(1) AAS
LPTSTR lptStr = (LPTSTR)TEXT("テスト"); で警告出たりするのかな?
糞面倒だけどキャストで通るならそれ以上の対応不用
343
(3): (ワッチョイ f648-UxC2) 2024/11/09(土)14:22 ID:12zpUv7J0(1) AAS
VS使ってるからたぶんCじゃなくてC++
こういうボンクラの自覚ないボンクラは相手しても疲れるだけ
344
(1): (ワッチョイ 7161-m4Ma) 2024/11/09(土)18:12 ID:IeEwNzSH0(1/3) AAS
>>341
理解した
constは付かないはずなのにリテラルにVisual Studioが勝手に付いてることにしてくるってことね
わざわざありがとうスッキリしたよ
345: (ワッチョイ 7161-m4Ma) 2024/11/09(土)18:13 ID:IeEwNzSH0(2/3) AAS
>>342
いけた
たしかに面倒だけど仕方ないね
346: (ワッチョイ 7161-m4Ma) 2024/11/09(土)18:17 ID:IeEwNzSH0(3/3) AAS
>>343
そんなこと言いながら何回もレスくれるなんて
347: (ワッチョイ 0920-pds3) 2024/11/09(土)18:29 ID:mxjkBfxb0(1) AAS
>>315
どっちもいける

実行時エラー
外部リンク:wandbox.org
> Segmentation fault

コンパイル時エラー
外部リンク:wandbox.org
省8
348: (ワッチョイ cdd5-MfT4) 2024/11/10(日)00:27 ID:dkv1a77w0(1) AAS
左辺をLPCTSTRにすれば良くない?
リテラルの文字列を可変にすること自体が本来は不要だし、右辺を可変にキャストするよりは左辺を不変として (LPCTSTRとして) 受け取れば良いと思う
349: はちみつ餃子◆8X2XSCHEME (ワッチョイ cd32-4Bi2) 2024/11/10(日)09:35 ID:a6nPaG4v0(1) AAS
>>344
オンラインコンパイラで VS17.10 を確かめてみたが文字列リテラルには const は付かないぞ。
お前が間違って C++ を使ってるという >>343 の意見に一票。
350: (ワッチョイ e520-2uFP) 2024/11/10(日)15:28 ID:E/UouhcZ0(1) AAS
>>322
・Microsoft Visual Studio Community 2022 (64 ビット) を使用し「C++コンソールアプリ」で新規プロジェクト作成
・ソリューションエクスプローラーでソースファイルにあるファイル名を*.cppから*.cへ変更
・ファイル名を変更したファイルに下記をコピペ
#include <windows.h>

int main(void)
{
省3
351: (アウアウエー Sa13-vkNS) 2024/11/11(月)11:10 ID:RXw/cl7Za(1) AAS
つまりスレタイ嫁ということか
1-
あと 651 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s