C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.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/
前
http://mevius.2ch.net/test/read.cgi/tech/1500293207/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 142 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8a6f-bDrV)
2017/08/10(木) 20:21:23.44ID:hEocmkh50710片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/13(金) 21:37:13.63ID:aO55acrud >>701
#include <stdio.h>
int main(void)
{
int n;
char buf[32];
printf("入力して下さい:");
fgets(buf, sizeof(buf), stdin);
n = atoi(buf);
printf("%dの二倍は%d\n", n, n * 2);
return 0;
}
#include <stdio.h>
int main(void)
{
int n;
char buf[32];
printf("入力して下さい:");
fgets(buf, sizeof(buf), stdin);
n = atoi(buf);
printf("%dの二倍は%d\n", n, n * 2);
return 0;
}
711デフォルトの名無しさん (ワッチョイ d360-cyyB)
2017/10/13(金) 21:39:30.87ID:KnON5zi30712デフォルトの名無しさん (ワッチョイ eb7f-MV6u)
2017/10/13(金) 22:15:45.85ID:xDZ8VANT0 それ都市伝説だから、単に使い方間違えてるだけだから!
フィールド幅をちゃんと指定すればscanf系でも安全だよ?
まぁ、エラーメッセージの都合上fgets使うかもだけど。。。
フィールド幅をちゃんと指定すればscanf系でも安全だよ?
まぁ、エラーメッセージの都合上fgets使うかもだけど。。。
713デフォルトの名無しさん (ワッチョイ 13cf-HoIg)
2017/10/13(金) 22:16:23.56ID:HDAg9FRW0 gets_s()やscanf_s()を使えば済む話に思えるが
714デフォルトの名無しさん (ブーイモ MM0d-edxA)
2017/10/13(金) 22:20:11.49ID:vlU7OwXLM 言いたいことは分かるなぁ
printfだって使い方間違えればフォーマットストリングで死ぬしな
printfだって使い方間違えればフォーマットストリングで死ぬしな
715デフォルトの名無しさん (ワッチョイ d360-cyyB)
2017/10/13(金) 22:28:05.05ID:KnON5zi30716デフォルトの名無しさん (ワッチョイ 1387-NqOW)
2017/10/13(金) 22:31:22.01ID:KDt3KwS+0 C言語はアセンブラのラッパー言語だから、そう言うもんは各自が気を付ければいいのであって、へんな関数量産すんな。
717デフォルトの名無しさん (ワッチョイ 799f-BSx0)
2017/10/14(土) 04:50:34.97ID:rkGKts9o0 scanf() は POSIX.1-2008 で m という修飾子が規定されてだな・・・
https://paiza.io/projects/que1l9qus5fMStBgkGgF9w
https://paiza.io/projects/que1l9qus5fMStBgkGgF9w
718デフォルトの名無しさん (ワッチョイ 1993-grZD)
2017/10/14(土) 05:25:15.07ID:G4fIdpwa0 m修飾子はscanf()の中でバッファの確保とポインタ代入をしてくれる、か。
使用者側がバッファを用意して容量はこれだけ、と言明するのとはちと違うね。
実用だと書式文字列をsnprintf()か何かで生成する手かなぁ。
使用者側がバッファを用意して容量はこれだけ、と言明するのとはちと違うね。
実用だと書式文字列をsnprintf()か何かで生成する手かなぁ。
719デフォルトの名無しさん (ワッチョイ f17f-BSx0)
2017/10/14(土) 06:38:32.00ID:qjmLCkqj0 実用なら動的確保で問題ねーだろ
720デフォルトの名無しさん (ワッチョイ 799f-vMUl)
2017/10/14(土) 06:44:41.93ID:YpZiBRe40 >>718
文字数制限したい場合は %3mc のように c を使うとできる。メモリ確保は相変わらず scanf() 側でやるので後で free() が必要であることには変わりがないが。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/scanf.3.html
文字数制限したい場合は %3mc のように c を使うとできる。メモリ確保は相変わらず scanf() 側でやるので後で free() が必要であることには変わりがないが。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/scanf.3.html
721デフォルトの名無しさん (ワッチョイ 0bf0-MWTH)
2017/10/14(土) 07:16:53.80ID:F19RwFTi0722デフォルトの名無しさん (ワッチョイ d360-B6a6)
2017/10/14(土) 09:37:54.97ID:wj7CJkun0 >>721
この話の発端のとあるC教育サイト
https://9cguide.appspot.com/14-03.html
では
scanf("%s");
を使っちまっている
珍獣というほどのものではないのでは?
禁じ手をやってしまう scanf() は悪
この話の発端のとあるC教育サイト
https://9cguide.appspot.com/14-03.html
では
scanf("%s");
を使っちまっている
珍獣というほどのものではないのでは?
禁じ手をやってしまう scanf() は悪
723デフォルトの名無しさん (ワッチョイ d360-qUyi)
2017/10/14(土) 12:38:59.99ID:wj7CJkun0724デフォルトの名無しさん (スッップ Sd33-sa4k)
2017/10/14(土) 12:40:09.00ID:kY4tNrcHd >>723
教義という表現に込められたいやらしさ
教義という表現に込められたいやらしさ
725デフォルトの名無しさん (ワッチョイ f17f-BSx0)
2017/10/14(土) 12:41:35.66ID:qjmLCkqj0 >>723
windowsならscanf_s使え、posixならm修飾使えで解決ってことだな
windowsならscanf_s使え、posixならm修飾使えで解決ってことだな
726デフォルトの名無しさん (ワッチョイ 799f-vMUl)
2017/10/14(土) 13:41:17.27ID:YpZiBRe40 windowsの方でもscanf()のmあるのでは?
727デフォルトの名無しさん (ワッチョイ f17f-BSx0)
2017/10/14(土) 14:15:25.78ID:qjmLCkqj0 なんでposix拡張があると思うの?
728デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/14(土) 14:56:12.00ID:VRAn8B+V0 配列って[]だったら自力でEOS入れなきゃいけないけど[]の中に数字入れると自動で入るの?
729デフォルトの名無しさん (ワッチョイ d360-qUyi)
2017/10/14(土) 15:53:03.38ID:wj7CJkun0730デフォルトの名無しさん (アウアウウー Sa1d-Qarq)
2017/10/14(土) 15:58:39.20ID:pEkiZp92a [迷信] scanf ではバッファオーバーランを防げない
http://www.kijineko.co.jp/tech/superstitions/buffer-overrun-of-scanf.html
[迷信] scanf でキーボードから入力
http://www.kijineko.co.jp/tech/superstitions/input-from-keyboard-by-scanf.html
http://www.kijineko.co.jp/tech/superstitions/buffer-overrun-of-scanf.html
[迷信] scanf でキーボードから入力
http://www.kijineko.co.jp/tech/superstitions/input-from-keyboard-by-scanf.html
731デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
2017/10/14(土) 15:59:02.19ID:bKRFV+pB0 はい ちょっとお邪魔しますよ
ISR() signal() の違いについて
どちらを使うべきなのか うんちくきぼんぬですよ
ISR() signal() の違いについて
どちらを使うべきなのか うんちくきぼんぬですよ
732デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
2017/10/14(土) 16:17:48.14ID:bKRFV+pB0 ↑割り込みハンドラで使う関数についての質問です
733デフォルトの名無しさん (ワッチョイ 1387-NqOW)
2017/10/14(土) 16:24:17.93ID:J5VLsuMb0 組み込み系だとmallocなんか初期化関数ん中でしか使わない。
734デフォルトの名無しさん (ワッチョイ f17f-BSx0)
2017/10/14(土) 16:32:11.89ID:qjmLCkqj0735デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
2017/10/14(土) 16:42:09.10ID:bKRFV+pB0 なるほど! ありがとうございました
736デフォルトの名無しさん (ドコグロ MM63-itUa)
2017/10/14(土) 16:57:24.91ID:/3exgnU7M737デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
2017/10/14(土) 17:13:04.55ID:bKRFV+pB0 割り込みにまさかの独自ライブラリがあるとは思わなかった
>>736の参照先見ると色々なアトリビュートが設定できるようになっとるわw
その内容をみると自前で割り込み関係のレジスタ叩けば実現可能な機能ばかり
##pop/push/reti自動付加禁止だけはsignal()では実現不能?
signalでよさそうな気が。。。
>>736の参照先見ると色々なアトリビュートが設定できるようになっとるわw
その内容をみると自前で割り込み関係のレジスタ叩けば実現可能な機能ばかり
##pop/push/reti自動付加禁止だけはsignal()では実現不能?
signalでよさそうな気が。。。
738デフォルトの名無しさん (ワッチョイ f17f-BSx0)
2017/10/14(土) 17:25:11.34ID:qjmLCkqj0 ANSI Cのsignalじゃなくて、AVR拡張のSIGNALのこと言ってたの?
なら、manualでSIGNALじゃなくてISR使えってなってるよ
違いも、属性指定できるかどうかだけ
http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html#ga67cd0dea412157775c2f2a3ffe9fb8ff
なら、manualでSIGNALじゃなくてISR使えってなってるよ
違いも、属性指定できるかどうかだけ
http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html#ga67cd0dea412157775c2f2a3ffe9fb8ff
739デフォルトの名無しさん (ワッチョイ 0bf0-MWTH)
2017/10/14(土) 19:42:35.98ID:F19RwFTi0740デフォルトの名無しさん (ワッチョイ 79b3-dPak)
2017/10/14(土) 19:59:48.25ID:4XKuJznc0 クッサ
741デフォルトの名無しさん (ワッチョイ d360-qUyi)
2017/10/15(日) 02:10:37.75ID:12RNBD+40 >>739
https://qiita.com/Tsutajiro/items/a5620b17ac530cc96e87
https://ja.wikipedia.org/wiki/Scanf
http://www9.plala.or.jp/sgwr-t/c/sec05.html
http://rainbow.pc.uec.ac.jp/edu/program/b1/Ex2-1b.htm
https://stackoverflow.com/questions/2155518/what-is-scanfs-and-scanfd-format-identifiers
「scanf("%s"」とグルるだけで、バッファオーバーランの危険がある注記のない上記記事が山のようにでてくる。
おすきなだけどうぞ、このように説明の手間を省きおざなりに scanf("%s") としてその場をとりつくろい、
読んだ人間は経験が少ないため、これでもいいのか、と勘違いしてしまう例は多々ある
scanf() は悪
やるんなら、fgets() してから sscanf() だの atoi() だの strtol() だので処理するのが定石
https://qiita.com/Tsutajiro/items/a5620b17ac530cc96e87
https://ja.wikipedia.org/wiki/Scanf
http://www9.plala.or.jp/sgwr-t/c/sec05.html
http://rainbow.pc.uec.ac.jp/edu/program/b1/Ex2-1b.htm
https://stackoverflow.com/questions/2155518/what-is-scanfs-and-scanfd-format-identifiers
「scanf("%s"」とグルるだけで、バッファオーバーランの危険がある注記のない上記記事が山のようにでてくる。
おすきなだけどうぞ、このように説明の手間を省きおざなりに scanf("%s") としてその場をとりつくろい、
読んだ人間は経験が少ないため、これでもいいのか、と勘違いしてしまう例は多々ある
scanf() は悪
やるんなら、fgets() してから sscanf() だの atoi() だの strtol() だので処理するのが定石
742デフォルトの名無しさん (ワッチョイ 799f-vMUl)
2017/10/15(日) 04:40:36.84ID:aLoOQk2A0 >>727
てか、C言語のライブラリの問題なのであるともないとも言えるよな。
POSIX準拠でないCコンパイラでも同じ動きをするライブラリをリンク時または実行時にリンクするならそう動くわけだし。
WindowsでもGCCでコンパイルするならそうなるわけだし。Cygwinの中ならなおのことそうだ。
てか、C言語のライブラリの問題なのであるともないとも言えるよな。
POSIX準拠でないCコンパイラでも同じ動きをするライブラリをリンク時または実行時にリンクするならそう動くわけだし。
WindowsでもGCCでコンパイルするならそうなるわけだし。Cygwinの中ならなおのことそうだ。
743デフォルトの名無しさん (ワッチョイ 799f-BSx0)
2017/10/15(日) 05:29:35.87ID:ZgJv24or0 そう言えば fgets() も1行の長さが指定した長さ以上になった場合に入力に残るよな。
で、だいたいは妙に長いバッファ用意して誤魔化す(またはそういう仕様にするw)わけだが、
そういうのが通用しない場合はそれを上回る入力をされた時にエラーにするかまたは入力に
残った不要な文字列を捨てる処理はあった方が良い。そうでないなら GCC の getline() を
使うかまたは自作するかだ。
で、だいたいは妙に長いバッファ用意して誤魔化す(またはそういう仕様にするw)わけだが、
そういうのが通用しない場合はそれを上回る入力をされた時にエラーにするかまたは入力に
残った不要な文字列を捨てる処理はあった方が良い。そうでないなら GCC の getline() を
使うかまたは自作するかだ。
>>743
昔宿題スレで作ったけれども忘れてしまった,まあ誰しも一回はつくるものじゃないかな
昔宿題スレで作ったけれども忘れてしまった,まあ誰しも一回はつくるものじゃないかな
745デフォルトの名無しさん (ワッチョイ 13b3-itUa)
2017/10/15(日) 07:05:24.20ID:KCBqed/H0 >>743
> そう言えば fgets() も1行の長さが指定した長さ以上になった場合に入力に残るよな。
当たり前だろ
より長い入力が想定されるなら普通に改行がでてくるまで続けて読めばいいだけだし
妙に長いバッファとかアホすぎる w
> そう言えば fgets() も1行の長さが指定した長さ以上になった場合に入力に残るよな。
当たり前だろ
より長い入力が想定されるなら普通に改行がでてくるまで続けて読めばいいだけだし
妙に長いバッファとかアホすぎる w
746名無し@キムチ (ワッチョイ 09b3-Qarq)
2017/10/15(日) 08:51:39.88ID:kjrLb6gv0 フィギュアスケートアニメーション作成ソフト「振付王」公開!!
ダウンロード↓
http://www.vector.co.jp/soft/winnt/game/se516681.html
デモ動画↓
http://youtu.be/j8KjRXr7zGs
ダウンロード↓
http://www.vector.co.jp/soft/winnt/game/se516681.html
デモ動画↓
http://youtu.be/j8KjRXr7zGs
747デフォルトの名無しさん (ワッチョイ 0102-MWTH)
2017/10/15(日) 09:47:59.48ID:J//jr+AC0 はははは、やっとn=6か
で、%sさえ使わなきゃscanfは安全なのか?
で、%sさえ使わなきゃscanfは安全なのか?
749デフォルトの名無しさん (ワッチョイ d360-cyyB)
2017/10/15(日) 10:01:56.35ID:12RNBD+40750デフォルトの名無しさん (ワッチョイ f17f-BSx0)
2017/10/15(日) 10:17:19.28ID:2VM8B8DT0 %sの危険性を長々と説明しているwikipediaを挙げてるんだからギャグのつもりだろ
stackoverflowも%sではなく%*sだし、scanf使ったことないのかな?
stackoverflowも%sではなく%*sだし、scanf使ったことないのかな?
751デフォルトの名無しさん (ワッチョイ d1c7-MWTH)
2017/10/15(日) 13:38:38.59ID:R4tP3Q0h0752デフォルトの名無しさん (ワッチョイ d360-qUyi)
2017/10/15(日) 14:19:43.64ID:12RNBD+40 >>751
fgets()でとりあえず読み込むのは有力な方針だからね、まあsscanf() を後段で使うことはあるね
scanf() のチマチマした書式は必要時に追いかければいい、今調べる必要はないと思うね
>シッタカ
大局観といってほしいね
fgets()でとりあえず読み込むのは有力な方針だからね、まあsscanf() を後段で使うことはあるね
scanf() のチマチマした書式は必要時に追いかければいい、今調べる必要はないと思うね
>シッタカ
大局観といってほしいね
753デフォルトの名無しさん (ワッチョイ 794b-dPak)
2017/10/15(日) 17:10:16.88ID:/ln1Xcyy0 scanf vs fgets
もう終わり?
もう終わり?
754デフォルトの名無しさん (ワッチョイ e9c6-BSx0)
2017/10/15(日) 17:14:39.09ID:Yk/ODCzd0 くだらん戦いだ
755デフォルトの名無しさん (ワッチョイ d360-qUyi)
2017/10/15(日) 17:27:36.97ID:12RNBD+40 あおりネタがなくてごめん…
756デフォルトの名無しさん (ワッチョイ d108-MWTH)
2017/10/15(日) 19:51:17.65ID:DZC0OlhV0757デフォルトの名無しさん (ワッチョイ d360-qUyi)
2017/10/15(日) 20:51:34.80ID:12RNBD+40 scanf() の詳細仕様を把握しないと判断できない、というのはどうかな?
scanf() が初期のころから建て増し建て増しでどんどん増えていったあの方向性は、正しくない複雑化のしかただと思うよ
scanf() を書く側にたってみると、おぞましい
scanf() が初期のころから建て増し建て増しでどんどん増えていったあの方向性は、正しくない複雑化のしかただと思うよ
scanf() を書く側にたってみると、おぞましい
758デフォルトの名無しさん (ワッチョイ e9c6-BSx0)
2017/10/15(日) 21:09:03.11ID:Yk/ODCzd0 scanf()
scanf()
scanf()
scanf()
scanf()
scanf()
scanf()
scanf()
scanf()
759デフォルトの名無しさん (ワッチョイ 530f-GDEj)
2017/10/15(日) 21:13:13.74ID:Y+x8OcED0 超ド級初心者なんだけどおすすめの開発環境とかある?
760片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/15(日) 21:14:17.56ID:3VVV/TO4d >>759
Visual Studio 2017。デバッグが簡単で分かりやすい。
Visual Studio 2017。デバッグが簡単で分かりやすい。
761デフォルトの名無しさん (ワッチョイ 530f-GDEj)
2017/10/15(日) 21:17:59.72ID:Y+x8OcED0 vs2017コンパイルの仕方がわからなかった(´・ω:;.:...
762片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/15(日) 21:20:39.95ID:3VVV/TO4d >>761
プロジェクトにソースファイルを追加して、デバッグメニューからビルドを選ぶだけだぜ。
プロジェクトにソースファイルを追加して、デバッグメニューからビルドを選ぶだけだぜ。
763デフォルトの名無しさん (ワッチョイ 530f-GDEj)
2017/10/15(日) 21:22:30.69ID:Y+x8OcED0 ビルド押したんだけど反応がなかったんだ・・・
もっかい調べなおしてみる
ありがとう
もっかい調べなおしてみる
ありがとう
764デフォルトの名無しさん (ワッチョイ d108-MWTH)
2017/10/15(日) 21:51:37.18ID:DZC0OlhV0765デフォルトの名無しさん (ワッチョイ 5975-dPak)
2017/10/15(日) 21:56:59.72ID:kn6M0KEM0 >>763
プロジェクト作成しないとビルドできない
プロジェクト作成しないとビルドできない
766デフォルトの名無しさん (ワッチョイ 13d2-jnAP)
2017/10/15(日) 22:38:21.05ID:kUtdNYE20 開発環境はvim+gccだろ?
767デフォルトの名無しさん (ワッチョイ fbe7-ceAT)
2017/10/16(月) 05:28:44.80ID:6Nh3McCV0 C言語知ってたらC++簡単に扱える?
768デフォルトの名無しさん (ワッチョイ 198c-g9Ug)
2017/10/16(月) 05:48:39.32ID:imM7X4iq0 基本的に別の言語
769デフォルトの名無しさん (スップ Sd33-BnQ2)
2017/10/16(月) 06:10:08.45ID:00rzJKO2d vs2017ならフォルダを開くで
勝手にプロジェクトが作られるんじゃなかったかな
勝手にプロジェクトが作られるんじゃなかったかな
770デフォルトの名無しさん (ワッチョイ 1993-grZD)
2017/10/16(月) 06:35:40.79ID:IzFutT5/0 開発環境はvim+gcc、そしてmakeだな。
人に勧めようとは思わないけどね。
人に勧めようとは思わないけどね。
771デフォルトの名無しさん (ワッチョイ fbe7-ceAT)
2017/10/16(月) 06:42:19.28ID:6Nh3McCV0 まあ入出力でCとC++で違うのは解ってたけど本読んで書いてあったのはC++で書いて動かなかったら
最悪Cで書けば動かせるということは書いてあったな
最悪Cで書けば動かせるということは書いてあったな
772デフォルトの名無しさん (ササクッテロロ Sp45-NqOW)
2017/10/16(月) 11:15:45.26ID:tZR41NVXp つか、コマンドラインアプリで文字列受け取るのは、実行時引数だけで充分だろ。
773デフォルトの名無しさん (ワッチョイ c9ea-89ZN)
2017/10/16(月) 13:10:18.09ID:IgMp2p2X0 パイプやリダイレクト
774デフォルトの名無しさん (ワッチョイ 09b3-NqOW)
2017/10/16(月) 14:21:36.48ID:JrEYnkdn0 対話型ツールなら、きちんと入力解析エンジン載せれや。
なんだよscanfってw
なんだよscanfってw
775デフォルトの名無しさん (ワッチョイ fb8a-z1uI)
2017/10/16(月) 14:22:15.72ID:QsDGIdoW0 gccのワーニングで、「declared inside parameter list」これを無視したいです。
-Wではじまるオプションはなにを指定すればよろしいですか?
#pragma GCC diagnostic ignored "-W???
-Wではじまるオプションはなにを指定すればよろしいですか?
#pragma GCC diagnostic ignored "-W???
776片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/16(月) 14:30:52.70ID:XYyvKIYbd >>775
[enabled by default]と書いてあるだろ? この警告はフラグで消せない。アホなコードを直すしかない。
[enabled by default]と書いてあるだろ? この警告はフラグで消せない。アホなコードを直すしかない。
777デフォルトの名無しさん (ワッチョイ fb8a-z1uI)
2017/10/16(月) 14:47:20.37ID:QsDGIdoW0778片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/16(月) 14:50:42.52ID:XYyvKIYbd >>777
警告は、引数リストの外側で必要なものを宣言すべきという意味だ。
警告は、引数リストの外側で必要なものを宣言すべきという意味だ。
779デフォルトの名無しさん (ワッチョイ c9ea-89ZN)
2017/10/16(月) 14:55:55.53ID:IgMp2p2X0780デフォルトの名無しさん (ワッチョイ 13e1-IVl6)
2017/10/16(月) 14:58:01.40ID:rvbv2fod0 >>775
gcc -w
gcc -w
781片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/16(月) 14:58:20.84ID:XYyvKIYbd 関数の前にstruct aho;とでも書いておけ。
782デフォルトの名無しさん (ワッチョイ fb8a-z1uI)
2017/10/16(月) 15:04:51.05ID:QsDGIdoW0783デフォルトの名無しさん (ワッチョイ c9ea-89ZN)
2017/10/16(月) 15:09:07.34ID:IgMp2p2X0 本当の定義じゃなくて 仮定義を前に置くだけで消えるのな
struct foo;
void func(struct foo* arg);
struct foo;
void func(struct foo* arg);
784sage (ワッチョイ fb8a-z1uI)
2017/10/16(月) 15:25:30.24ID:QsDGIdoW0 >>783
やはりそのように潰していくしかないのでしょうね。
やはりそのように潰していくしかないのでしょうね。
785デフォルトの名無しさん (ワッチョイ 13e1-IVl6)
2017/10/16(月) 15:43:34.17ID:rvbv2fod0 >>782
-Wで始まるオプション名は無いので無視するにはコマンドラインで-wを指定するしかない
-Wで始まるオプション名は無いので無視するにはコマンドラインで-wを指定するしかない
786デフォルトの名無しさん (ワッチョイ 799f-vMUl)
2017/10/16(月) 22:46:04.81ID:snZUUJVe0 >>784
いや、てか、そのヘッダ書き換えられないのか?
いや、てか、そのヘッダ書き換えられないのか?
787デフォルトの名無しさん (ササクッテロロ Sp45-NqOW)
2017/10/16(月) 22:49:48.00ID:tZR41NVXp 自身のポインタを構造体に宣言するのと同じ様に書けよ。
788デフォルトの名無しさん (ワッチョイ 41a5-Yjam)
2017/10/16(月) 23:21:23.22ID:7Byc8Q4r0789デフォルトの名無しさん (ワッチョイ 09b3-XdBn)
2017/10/17(火) 20:18:22.83ID:Q3d5MYhb0 とりあえず勉強の成果として作ってみたら失敗した
なんでだ
#include <stdio.h>
int main(void)
{
int hyoji;
int kakikomi;
printf("階乗の表示:");
scanf("%d\n",&kakikomi);
for (hyoji = 1;kakikomi > 0;kakikomi--) {
hyoji = hyoji * kakikomi;
}
printf("結果は%dです", hyoji);
fflush(stdin);
getchar();
return 0;
}
なんでだ
#include <stdio.h>
int main(void)
{
int hyoji;
int kakikomi;
printf("階乗の表示:");
scanf("%d\n",&kakikomi);
for (hyoji = 1;kakikomi > 0;kakikomi--) {
hyoji = hyoji * kakikomi;
}
printf("結果は%dです", hyoji);
fflush(stdin);
getchar();
return 0;
}
790デフォルトの名無しさん (ガックシ 06eb-dPak)
2017/10/17(火) 20:29:18.04ID:FJCAd6676 >>789
scanfのところの\nって要らなくね
scanfのところの\nって要らなくね
791デフォルトの名無しさん (ササクッテロロ Sp45-NqOW)
2017/10/17(火) 20:54:03.89ID:Usq7nzejp こんなすぐに桁溢れしちまう様なサンプル作ったら、何を試したいのかわからんだろ。
792デフォルトの名無しさん (ワッチョイ 1312-B6a6)
2017/10/17(火) 21:06:51.02ID:BSHBGdow0 しかしてfor文の中身を見るに全くの素人じゃあないな
793デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/17(火) 21:08:48.81ID:Q3d5MYhb0794デフォルトの名無しさん (ワッチョイ f99e-0oEc)
2017/10/17(火) 21:24:15.93ID:0jVjcAN80 >>792
どのあたりが?
どのあたりが?
795デフォルトの名無しさん (ササクッテロロ Sp45-NqOW)
2017/10/17(火) 21:33:12.55ID:Usq7nzejp 初期化をあんなとこに書いたらコーディング規約で叩かれるしなぁ〜
796デフォルトの名無しさん (ドコグロ MM33-itUa)
2017/10/17(火) 21:46:54.15ID:fHKaWaxJM797デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/17(火) 21:57:54.65ID:Q3d5MYhb0 VS2017でやってるんだがさっき作ったプログラムを保存して別のファイルで勉強を再開しようとして新しくファイルを作ったんだ
そしてテストも兼ねてさっきのプログラムコピペしたら
プリコンパイルヘッダーを検索中に不明なEOFが見つかりました。
'#include"stdafx.h"をソースに追加しましたか?
と出た
さっきは何もなかったのに
そしてテストも兼ねてさっきのプログラムコピペしたら
プリコンパイルヘッダーを検索中に不明なEOFが見つかりました。
'#include"stdafx.h"をソースに追加しましたか?
と出た
さっきは何もなかったのに
798デフォルトの名無しさん (ワッチョイ 5975-dPak)
2017/10/17(火) 22:19:31.03ID:PpmRGT3a0799片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/17(火) 22:26:24.33ID:/2LkUivAd >>797
プリコンパイルヘッダーというのは、プロジェクト内のヘッダーを事前にまとめてコンパイルしてビルドを早くする仕組みのことだ。
通常、stdafx.hというヘッダーにプロジェクトで使うヘッダーをまとめる。
一つ一つのソースファイルごとのプロパティでプリコンパイルヘッダーを作成するか、使用するかを設定できる。
プリコンパイルヘッダーというのは、プロジェクト内のヘッダーを事前にまとめてコンパイルしてビルドを早くする仕組みのことだ。
通常、stdafx.hというヘッダーにプロジェクトで使うヘッダーをまとめる。
一つ一つのソースファイルごとのプロパティでプリコンパイルヘッダーを作成するか、使用するかを設定できる。
800デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/17(火) 22:30:05.39ID:Q3d5MYhb0 >>799
つまり…どういうことだってばよ
つまり…どういうことだってばよ
801デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/17(火) 22:35:56.33ID:Q3d5MYhb0 ソースコード関係の知識は苦Cやらで積めるけどソフトやらの知識はどこで積むんだ
802片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/17(火) 22:36:28.37ID:/2LkUivAd プリコンパイルヘッダーを使用するのであれば、プロジェクト内のどこかのソースファイル(例えばstdafx.cpp)を使って、プリコンパイルヘッダーを作成しないといけない。
あるソースファイルにおいてプリコンパイルヘッダーを使用するのであれば、プリコンパイル対象のヘッダーを#includeして、そのソースファイルがプリコンパイルヘッダーを使用することを設定する。
プリコンパイルヘッダーを使用しないなら、すべてのソースのプロパティでプリコンパイルヘッダーを使用しないように設定する(空のプロジェクトの規定値)。
あるソースファイルにおいてプリコンパイルヘッダーを使用するのであれば、プリコンパイル対象のヘッダーを#includeして、そのソースファイルがプリコンパイルヘッダーを使用することを設定する。
プリコンパイルヘッダーを使用しないなら、すべてのソースのプロパティでプリコンパイルヘッダーを使用しないように設定する(空のプロジェクトの規定値)。
803片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/17(火) 22:39:12.15ID:/2LkUivAd ソースファイルが二、三個なら、とくにプリコンパイルヘッダーは、必要ない。
804デフォルトの名無しさん (ワッチョイ 13b3-itUa)
2017/10/17(火) 22:43:34.43ID:kMB04QqG0805片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
2017/10/17(火) 22:44:21.68ID:/2LkUivAd ソースファイルのプロパティは、IDE内のソースファイルのアイコンを右クリックして「プロパティ」を選ぶと設定できる。
806デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/17(火) 22:59:14.26ID:Q3d5MYhb0 >>804
とりあえず空のファイルは作れたけどソースが書けん
とりあえず空のファイルは作れたけどソースが書けん
807デフォルトの名無しさん (ワッチョイ 5975-dPak)
2017/10/17(火) 23:01:36.30ID:PpmRGT3a0808デフォルトの名無しさん (ワッチョイ 09b3-FNzi)
2017/10/17(火) 23:02:26.49ID:Q3d5MYhb0 >>807
空のソースコードファイルどうやって作るんだ
空のソースコードファイルどうやって作るんだ
809デフォルトの名無しさん (ワッチョイ 5975-dPak)
2017/10/17(火) 23:08:36.86ID:PpmRGT3a0 >>808
プロジェクト開いたときの右にあるソリューションエクスプローラの中のソースファイルというフォルダを右クリックして「追加」から「新しい項目」をクリック。
「C++ファイル」を選択した状態でファイル名の拡張子を.cに変えて「追加」ボタンを押す。
プロジェクト開いたときの右にあるソリューションエクスプローラの中のソースファイルというフォルダを右クリックして「追加」から「新しい項目」をクリック。
「C++ファイル」を選択した状態でファイル名の拡張子を.cに変えて「追加」ボタンを押す。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【まずは自助】高市早苗「自らの命は自らが守るという原則に従っていただく」 青森の被災地、能登と同じく見捨てられる模様 [314039747]
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★6
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★5
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
