C言語なら俺に聞け 163

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7bba-Lem2)
垢版 |
2024/07/16(火) 22:43:54.18ID:ZrsCjURC0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 162
https://mevius.5ch.net/test/read.cgi/tech/1698653580/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2024/09/17(火) 01:04:31.11ID:BokinMog0
>>210
元々ローカルでchar hage[10];と定義して10以上をアクセスしてもコンパイル時にはエラーにならないでしょ

引数に[10]と書くとしたら可読性のため(この関数では[0~9]までアクセスする可能性があると明示するため)
212デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/17(火) 10:15:58.36ID:9gub94Dsd
__FILE__ とか __LINE__ は大文字なのになんで __func__ は小文字なん?
213デフォルトの名無しさん (アウアウエー Sadf-N1Zj)
垢版 |
2024/09/17(火) 10:17:16.72ID:TMGdiCOOa
範囲の問題じゃなくて
++hage または hage++ が出来るか出来ないかが問題なんです
2024/09/17(火) 11:06:41.56ID:bX/ekV+z0
一見配列を受け渡ししているように見えるけれど、
実際はポインターとして受け渡ししているってことでしょ
2024/09/17(火) 11:56:03.91ID:FRc2ySeD0
>>212
__func__ はマクロではないからだと思う。
2024/09/17(火) 12:47:41.54ID:bX/ekV+z0
#include <stdio.h>

char hage[10] = {0};

char *hoge(void)
{
// ++hage; // error '++' には左辺値が必要です。
// return hage;
 return &hage[1];
}

int main(void) {
 char *p = hoge();
 printf("%p, %p\n", hage, p);
 return 0;
}
217デフォルトの名無しさん (アウアウエー Sadf-N1Zj)
垢版 |
2024/09/17(火) 13:07:46.14ID:TMGdiCOOa
>>214
そんなことは判ってるよ
(char hage[10]) で hage++ または ++hage 出来ちゃってる(ように観える)のが問題なんでしょ
関数の引数は (char hage[]) または (char *hage) のみにすれば良かった
(char hage[10]) はどうみても蛇足(結局境界テストされてないし)
2024/09/17(火) 13:11:47.81ID:bX/ekV+z0
問題だと思う人は、使わないようにしましょう
開発サイトでそういうルールを用意するのも手です
219デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/17(火) 17:17:11.73ID:9gub94Dsd
>>215
納得しました。
220デフォルトの名無しさん (ワッチョイ 9ffd-NiVF)
垢版 |
2024/09/17(火) 20:17:27.08ID:dLWvmxgr0
>>197
そもそもstr系mem系はアドレスを受け取るんであって配列を受け取る関数ではないっていう勘違いがあるんだけど
それはともかく大きさがどうのとかなんちゃらが都合がいいとか、本当にC言語でなんかプログラムを書いた事あるの?
221デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/17(火) 20:58:19.23ID:9gub94Dsd
俺は尻より胸派なんだよね。
2024/09/18(水) 00:42:28.78ID:wcwImUMc0
>>217
この場合に限らずcでは範囲チェックなどされないでしょ
必要なら自分でチェックするのが原則

void aaa(char hage[10],int idx)
{
if((UINT)idx < sizeof(hage)/sizeof(hage[0]))
printf("%d=%d¥n",idx,hage[idx]);
else
printf("%dは範囲外だhage¥n",idx);
}

これなら[10]に意味が出る
2024/09/18(水) 01:22:58.84ID:9DvoA/Ly0
ド素人w
2024/09/18(水) 05:59:54.60ID:Y3+kk9yU0
>>222

c faq 6.21 (英文が詳しい)
https://c-faq.com/aryptr/aryparmsize.html
>>207 の'調整'は'adjust'だろう
N1256を'adjust'で検索するのじゃ
Look, a new day has begun.
2024/09/18(水) 07:51:55.61ID:9Z5pFVfx0
8/16bit時代の1バイトでも、1ステップでも減らせってのを経験した人と
最近の可読性、移植性、安全性優先設計が当たり前世代とのギャップ。
2024/09/18(水) 08:59:57.51ID:9DvoA/Ly0
ギャップの問題じゃねーから
文脈すら理解できないじじいはすっこんでろ
2024/09/18(水) 09:30:25.30ID:Qk7JHPx80
専門板によくいるアスペだな
2024/09/18(水) 10:34:45.37ID:UYQxUcxO0
225 は釣りでしょう
2024/09/18(水) 13:08:51.24ID:eTGNACyx0
>>222
sizeof(hage) で配列のサイズが求まるの?
と思ったら、「char * (ポインタ)の大きさを返すよ」みたいな警告が @gcc
2024/09/18(水) 13:15:29.42ID:UYQxUcxO0
釣りだか天然だか、分からなくなってきた 笑
2024/09/18(水) 13:35:28.77ID:td/rS/wM0
今どきの統合開発環境を使ってるなら変数の型くらい見れると思うけれど
古典的な手法としてあえてエラーにしてメッセージを読むという型の確認方法がある。

void foo(char bar[10]) {}
int main(void) { int baz = foo; }

こんなコードをたとえば gcc でコンパイルを試みると

error: initialization of 'int' from 'void (*)(char *)' makes integer from pointer without a cast

というエラーになる。
foo の型が void (*)(char *) であることがわかる。
foo は関数型の式 (関数指示子) なので暗黙に関数ポインタに型変換されているのと
bar に相当する箇所の型が char* になってるのがわかる。
2024/09/18(水) 13:51:08.91ID:eTGNACyx0
なるほど
勉強になります
233デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/18(水) 14:54:11.13ID:LEoKOQZWd
>>222
>この場合に限らずcでは範囲チェックなどされないでしょ
>必要なら自分でチェックするのが原則

>void aaa(char hage[10],int idx)
>{
> if((UINT)idx < sizeof(hage)/sizeof(hage[0]))
> printf("%d=%d¥n",idx,hage[idx]);
> else
> printf("%dは範囲外だhage¥n",idx);
>}

>これなら[10]に意味が出る

printf("%uz\n", sizeof(hage)/sizeof(hage[0]));
の結果ってどんな値表示されるの?
234デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/18(水) 14:56:10.00ID:LEoKOQZWd
書式のとのuzじゃなくてzuだっけ?zだけでよかったっけ?
ま、主旨はそこじゃないからいっか。
2024/09/18(水) 15:47:33.09ID:3rwci13t0
>>233
sizeof(char*)/sizeof(char) ということになる。
sizeof(char) は確実に 1 だから結果としては単に char* のバイト数ってことだね。

この場合は「『もし 10 に意味があるとしても』境界チェックはされないことに変わりないのでなんの役にも立ってない。 役に立てるとしたらここまで書かなきゃならない」というのが主旨なのであくまでもしもの話。
実際の値はどうでもよい文脈だと思う。
2024/09/18(水) 16:33:08.44ID:wcwImUMc0
>>224
ああそうなの
昔のことだから記憶違いをしてたようだ
237デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/18(水) 16:43:30.74ID:LEoKOQZWd
>>235
>>222 の「これなら[10]に意味が出る」ってのは間違いってことね。
2024/09/18(水) 18:00:34.97ID:wcwImUMc0
'ここの10は意味ありませんよ'
って警告を出してもいいじゃんってことでしょ
それなら例えば

typedef char HAGE_TBL[10];
void foo(HAGE_TBL hage) {}
(毎回10とか書くのは危険なのでこういう使い方が多いと思う)

などとした場合に毎回警告が出てうざいことになるんじゃないか
2024/09/18(水) 18:07:31.49ID:UYQxUcxO0
警告ならまだ笑っていられるが、
明らかに書いた奴の意図とは違って誤動作してるだろ
240デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/18(水) 18:30:29.69ID:LEoKOQZWd
>>222 のバグを晒すスレはここですか?
241デフォルトの名無しさん (スプッッ Sd3f-2MD7)
垢版 |
2024/09/18(水) 18:46:04.44ID:LEoKOQZWd
C言語は難しいな
2024/09/18(水) 20:53:02.12ID:UYQxUcxO0
void aaa()の中で、
引数で渡された値が何かを確かめて見ると良い
それと、 sizeof(hage)やsizeof(hage[0])の値も

プログラム書いた人の意図としては、
sizeof(hage)/sizeof(hage[0])が10になるはずなんだが
さてさていくつだろうか?
243デフォルトの名無しさん (ワッチョイ 9f7c-2MD7)
垢版 |
2024/09/19(木) 00:15:21.84ID:5H+5PGV10
もうやめて!>>222 のライフはゼロよ!
2024/09/19(木) 06:32:15.59ID:zdFAvN1E0
本人が新たなネタを出してくるんだもん。
>>238 でもわざわざ
typedef char HAGE_TBL[10];
ってやっておきながら、なんで
void foo(HAGE_TBL hage)
なの? 構造体と同じように
void foo(HAGE_TBL *hage)
ってしてみたら新たな何かが見えてこないかい?
2024/09/19(木) 15:36:15.62ID:bQAYIDF0M
cは洗練された型システム持ってないんだからそんなところ頑張っても無駄なんだよ
この悟りに至って始めて脱初級
原則語るならそれからにしてくれ
2024/09/19(木) 15:40:30.12ID:cPR7xA8Z0
Cは一部の洗練された型システム持つ言語よりも遙かに自由度が高い
そこが分かってようやく中級レベル
あとは本人の努力次第で空も飛べるし海も潜れる
2024/09/19(木) 15:50:31.78ID:c2v//UgT0
おいおい
そのぶん危険なんだから持ち上げる部分でもないだろ
お前も初級
2024/09/19(木) 17:19:57.71ID:cPR7xA8Z0
ナイフは危険だが有用
不器用者は使わない方が良い
2024/09/19(木) 17:44:18.26ID:8NYyNXbk0
>>244
typedefは新たな型を作るわけじゃない別名を定義するだけから

void foo(char hage[10])

void foo(HAGE_TBL hage)
は同じことだよ
2024/09/19(木) 20:28:27.65ID:c2v//UgT0
>>248
c言語ってとっくの昔から自由にキャストしまくれる言語じゃないの知ってるか?
さぁお前はなんと答える?
2024/09/19(木) 20:47:13.84ID:cPR7xA8Z0
そんなに怖がるなよ
食われるわけじゃないんだから
252デフォルトの名無しさん (アウアウエー Sadf-3vlU)
垢版 |
2024/09/19(木) 21:11:19.13ID:/CBFTgYsa
>>245
悟った人は全部void*
253デフォルトの名無しさん (ワッチョイ ff4c-KlCL)
垢版 |
2024/09/19(木) 21:52:43.48ID:j90utfqH0
文字も数字も全部intでいいやん
254デフォルトの名無しさん (アウアウエー Sadf-3vlU)
垢版 |
2024/09/19(木) 21:56:05.41ID:/CBFTgYsa
getch() は int
2024/09/20(金) 07:15:20.20ID:dn4N5ANS0
>>249
それが不満なようだから「HAGE_TBL * にしたら何ができるか考えてみては?」ということでは?
2024/09/24(火) 10:26:30.49ID:/2yiAcKTp
昔のコンピュータはメモリー少ないから、intで文字持つなんて贅沢だったんだよ
2024/09/24(火) 11:12:54.47ID:CARZyoOh0
次のジジイの的外れな言いたいだけコメントを先取り
intは16bit以上だぞ
2024/09/24(火) 11:31:50.53ID:QMMOdtbOp
違うよ、intは処理系依存だから8ビットの場合もある
2024/09/24(火) 11:49:08.20ID:vvKB2ofDd
規格書読め
2024/09/24(火) 11:54:52.88ID:kMxfGMRcM
次のジジイ
getcharがなぜintを返すか
2024/09/24(火) 19:39:49.05ID:tv/lKhnI0
>>174
> char* foo = "hoge";
>
> のようなケースではポインタ foo は文字列リテラルを指してる

(単に端折っただけかもしれないけれど、)文字列リテラルに関してCには非常に込み入った事情(Rationale Rev. 5.10 6.4.5 冒頭-l.26, N1256 Annex J.5.5)があり、厳密に言えば foo は "hoge" によって初期化された無名の配列を指している(N1256 6.7.8-32)。

C99RationaleV5.10
https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf
テンプレ入りキボンヌ

>>皆の衆
ともあれ、込み入った事情に該当しなければ
const char afoo[] = "hoge";
あるいは
const char * const ccfoo = "hoge";
場合によって
const char *cfoo = "hoge";
と書いて、うっかり書き換え防止に勇往邁進するのじゃ。
2024/09/24(火) 19:51:57.01ID:tv/lKhnI0
>>158
件の意味論は 6.7.8-32 を介して 6.7.8-14,15 に帰結するように思われる一方で、文字列リテラルが 6.4.5-5 で自ら初期化した(やはり)無名の配列の代名詞だとすると 6.7.8-11 が適用されるという解釈も成り立ちそう。

char *gfoo1 = "hoge"; // (1)
char *gfoo2 = "hoge"; // (2)

void f() {
char *foo1 = "hoge"; // (3)
char *foo2 = "hoge"; // (4)
}

>>261 で触れた文字列リテラル書き換え派の場合、(1)〜(4)は別物なので、各々初期化しなければならないため前者の解釈。この時、(3), (4)が automatic storage duration でも良いように 6.7.8-32 では storage duration を定めていないのだと思う。
他方、文字列リテラル不変派の場合、(1)〜(4)は同一で良いので、初期化を一回で済ませて後者の解釈。
結局、前後者両方の解釈が出来るようになっているように見える。
2024/09/25(水) 19:34:19.49ID:8eNfi/Op0
まだやってるキモ…
いくら話題無いからってこれは誰も幸せにならない
2024/09/25(水) 23:05:12.18ID:YARyzAjz0
ええんちゃう別に
どうせ5chに答えを求めてやって来る人なんてもうおらんのやし
2024/09/25(水) 23:07:41.16ID:1jKu7Jqx0
青い鳥を探してます
ここに来れば教えてくれると聞いて来ました
2024/09/26(木) 09:49:09.10ID:oesVQEFi0
PythonとかC++のスレで規格持ち出して言い合いしてるのを見たことないが
何故かここではよく起こるな
2024/09/26(木) 10:19:33.26ID:944iXMZC0
Cなんてのは対象CPUの違いとかでも標準とかけ離れた実装して来るのにね
268デフォルトの名無しさん (アウアウエー Saaa-rNKn)
垢版 |
2024/09/26(木) 10:58:03.72ID:R5lWYvWFa
>>264
これ++
2024/09/26(木) 12:24:13.03ID:B+Au+yIB0
>>266
じゃあ何を根拠にしてるの?
妄想?
2024/09/26(木) 14:46:28.31ID:oxN8/Up7M
perlあたりで頼む
271デフォルトの名無しさん (ワッチョイ 022d-w5sm)
垢版 |
2024/09/26(木) 16:39:09.57ID:oesVQEFi0
>>269
君の問題点は規格読んでるの間違えてるとこだよ
2024/09/26(木) 16:48:57.66ID:B+Au+yIB0
>>271
規格を根拠にしてたら間違えてる箇所は間違えていると反論できるだろ。
根拠がないよりは良い。

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

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

// こう書いた場合、文字列の実体は静的な領域 (テキスト領域) に確保され、
// a2にはそのアドレスが渡される。
// sizeof(a2) はポインタのサイズであり、値は文字列長によらず固定
char* a2 = "abc";
274デフォルトの名無しさん (ワッチョイ 63e3-VZV9)
垢版 |
2024/09/27(金) 00:02:43.63ID:ju4/Ooeg0
char* でも char[] でも、a[n] と書けばn文字目を参照するのは変わらない
これはポインタの [] 演算子は「ポインタをn個進めた位置の要素を参照する」ため、結果的には配列と変わらないから
だけど前述の a1 と a2 は違う型なので、そこは注意が必要

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

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

文字列リテラルは配列初期化子の構文糖でありながら、また文字列をも表すという二義性を持つ、という云うのはあくまで言語設計の為の汚いハックでしかなかろ?
2024/10/30(水) 10:28:23.97ID:BRGgIRAsp
Cの変数の型指定なんて気休めだからなぁ
2024/11/01(金) 06:24:42.85ID:+lXxXu7p0
気休めじゃなくて気疲れの間違いだろ
長さやsignednessでわけわからん変換しやがるバグの根源と言ってもいい
2024/11/01(金) 11:11:58.05ID:YgeQjLzz0
訳が理解できるようになるまで、お前は使用禁止
295デフォルトの名無しさん (ワッチョイ 622d-CyeO)
垢版 |
2024/11/03(日) 13:27:09.33ID:N1lOck0q0
https://togetter.com/li/1471386
こんな事本当にあるのか?
2024/11/03(日) 13:36:34.35ID:e8fWHn4Q0
もともとバグってたのを対処療法で回避しただけじゃねーの?
そんな驚愕するほどのこととは思わんな
スペースは文字列に加えるってことだろ
2024/11/03(日) 13:45:35.99ID:WzNRcFfL0
ちゃんとソースを公開すればみんなで治してくれるよ
298デフォルトの名無しさん (アウアウエー Sada-GGiU)
垢版 |
2024/11/03(日) 16:06:15.80ID:XxnHrPnRa
バイバイおさるさん
2024/11/03(日) 17:27:36.06ID:4RaSizfZ0
char []s = "うんこ"
s[20] = 0; // どっか判り難いとこにこんなのが紛れてる
回答「(sに)もっとスペースを追加して!」
2024/11/03(日) 17:39:48.03ID:WzNRcFfL0
どこか知らない国で "うんこ" が40バイトくらいある所があったりして
2024/11/03(日) 19:33:15.95ID:/vDzNoeA0
業務だとヨソの担当のモジュールに口出しするのがめんどいから対処療法で握りつぶすみたいなことはあるのかもしれん。
2024/11/03(日) 20:22:14.37ID:5dhdDFeF0
s("※んこ"の値)は読み取り専用になるんじゃないかな
処理系によるかもしれないけど
2024/11/04(月) 01:39:12.77ID:rgFUj3k30
>「ここにスペースを入れてみて」「もっと沢山、もっともっと」
この辺りコピペ怪文書にしか思えないんだが
境界チェックしない言語ならありふれたバグだし、元文書はちんぽとかだったんじゃないだろうか
2024/11/04(月) 13:45:59.93ID:UGhFqLBmp
どうせメモリーリークだろうな
データ位置を変えると現象が変わるなんて典型的だろ
2024/11/04(月) 13:48:37.25ID:nJwTTfVk0
>>302
誤りでした
2024/11/04(月) 14:02:09.24ID:SHEOgeyw0
パンパース当てるのが正しい
2024/11/04(月) 20:44:45.70ID:rgFUj3k30
おむつってあんま進化してないよな
吸収率だとか漏れだとかそんなのは上がってるだろうが、基本的な機能は変わらない
介護業界でも排泄介助っていう高齢者の汚物処理って割と大変な部類だと思うんだが
そろそろおもつ革命を起こさないと業界崩壊するんじゃないの
プログラミングでなんとかできませんかね
2024/11/04(月) 20:51:48.25ID:rgFUj3k30
高齢者に限らず若い子でもうんこ漏らす時は漏らすし、そういう緊急時にも安心できるぐらいのものがそろそろ欲しいな
紙ベースで吸収率だとかで脳が退化してるおむつメーカーではおむつ革命はとても期待できないだろう
2024/11/04(月) 21:52:48.49ID:lap6rdZH0
介護対象に飲ませるうんこがあまり臭くなくなる薬みたいな技術は進化してるぞ
2024/11/04(月) 22:10:34.76ID:TtMQ1IOc0
薬で臭くなくしたうんこだからといって介護対象に飲ませるのはどうかと思うぞ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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