[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/03 02:10 / Filesize : 267 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.100【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 22:58:02.60 ID:dU5z27As.net]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
echo.2ch.net/test/read.cgi/tech/1469177649/

101 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 09:30:19.30 ID:R8KZSjOU.net]
>>93
なるほど!
参考になりますm(__)m

102 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 09:52:11.47 ID:hCzygT3G.net]
>>98
じゃあとりあえずGUIが必要だから
そこらへんからかな?

103 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 11:19:48.12 ID:O1fw7E0o.net]
>>101
わかりました!
ありがとうございます!

104 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 22:40:31.25 ID:rTzEq7cO.net]
c++でGUIな何かを作るときどうやるのが普通?どうやるのがおすすめ?
趣味嗜好全開でいいから教えてくれ

105 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 22:46:05.73 ID:eNcCSvTp.net]
ビルド時間とバイナリサイズが気にならないならwxWidgets

106 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 22:56:35.56 ID:TyHJy95g.net]
真面目にその条件なら.NETだけどそれなら言語はC#でやった方がよいと思う
自分は自分用のWIN32APIを使ったGUI用のライブラリ作ったけど完全に時代遅れだとは思ってる

107 名前:デフォルトの名無しさん mailto:sage [2016/12/18(日) 23:56:09.22 ID:psse/iGW.net]
wxWidgetsよさそうやね
クロスプラットフォームってのがいい

108 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 08:41:19.51 ID:K+bb4qm0.net]
vcを使うという事ですか

109 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 08:43:24.96 ID:/4ZK922w.net]
>>103
ターゲットのOSとかPC/ケータイとかライセンスとか軽さとか見比べて
GUIフレームワークを選ぶ

Qt は重いけどマルチプラットフォームかつ見た目がいいから人気
Windowsのみなら C# が迷わなくて済むけどね
時代遅れを気にしないなら VC+MFC の情報は多いw
他にもいろいろある



110 名前:デフォルトの名無しさん [2016/12/24(土) 19:03:48.07 ID:Xnn//JuE.net]
FILE *fp;をグローバル変数にしてたら落ちまくって、ローカル変数にしたら落ちなくなった現象は何でですかね?
グローバルかローカルか関係ない気がするんですけど。
Windows7、Visual Studio 2015

111 名前:デフォルトの名無しさん [2016/12/24(土) 19:04:08.51 ID:Xnn//JuE.net]
これで4時間近くハマった。

112 名前:フォルトの名無しさん mailto:sage [2016/12/24(土) 19:11:41.00 ID:0UyY/BKM.net]
グローバルな FILE *fp の近く(若いアドレス)に置かれた
グローバルな配列の範囲オーバーじゃないかしら。

113 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:06:31.12 ID:TihFoldF.net]
>>109
ファイルの開くのから閉じるのまでが一関数に収まってて、他から呼び出してないなら関係ないと思うけど
閉じ忘れとか?

114 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:27:17.35 ID:DNE92dFu.net]
fileno とか ferror は確認した?

115 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:34:23.48 ID:y7L7nGQ6.net]
fp をグローバルにおいたソースで 別のローカル変数をグローバルに置いたら
その変数で副作用起こすんじゃね?

(>>111 と同じく範囲突破しての書き込みを疑ってる)

116 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 21:00:46.23 ID:yr6q9nVG.net]
fpがどんな値になろうと最悪でもエラー検出するだけだから
落ちるのはまともにエラー判定してないせい

117 名前:109 mailto:sage [2016/12/24(土) 21:14:49.73 ID:Xnn//JuE.net]
>>111-115
ありがとうございます。

>>111さんのおっしゃる通り、メモリの問題でした。
fopenからfreadの間で、
読み込みバッファをmallocで確保してmemsetでゼロクリアしている部分があり、
このクリアするサイズが確保したサイズを上回っていました。
なので、fopen直後のエラーチェックでも問題が起きてないのに落ちていたようです。

//私も一度はこれを疑って確認したんですけどね。
//レスもらってから改めて確認したらこのような状況になってました。

根本的な解決ができて良かったです。

118 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 01:18:26.20 ID:vsDUBYtf.net]
気付くだけ立派だわなぁ

119 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 07:00:04.87 ID:iLmpV78q.net]
mallocで確保した領域の溢れがグローバルな変数を壊すってのは
ちょいと解せない気もする。

DOSの頃なら互いに影響しあうことも普通だったろうけど、
最近のOSだと別に管理してそう。
内部の詳しいことは知らないけど。



120 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 09:26:05.12 ID:SibbJTGE.net]
>>118
お前はもう少し勉強してから書き込むべき

121 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 09:43:40.82 ID:CGvp0k11.net]
エミュとかアドレスを固定してるけどどうやってんの?

122 名前:デフォルトの名無しさん [2016/12/25(日) 16:56:04.10 ID:xlX3oF2t.net]
質問です
エラーになってしまいます
教えて下さい
C++11です

int n=0;
string hage="s"+n+".png";

123 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 17:03:23.30 ID:YVZO5C9V.net]
"s"と".png"はconst char*型なので+は無理

124 名前:デフォルトの名無しさん [2016/12/25(日) 17:09:24.52 ID:xlX3oF2t.net]
そうなんですか…
ありがとうございました

125 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 22:48:16.54 ID:oxH1mE2q.net]
>>120
最初に、すべてのアドレス分のメモリを確保すれば?

その先頭アドレスを、エミュレータの先頭アドレス・0 にすればいい

126 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 01:40:19.72 ID:Us2MOZON.net]
>>121
標準で用意されているのはstringとstring/char/char*間のみ(operator+)
なので+するのをintでなくstringにすればいける
C++11ならto_stringがあるから次ので問題ない
string hage = "s" + to_string(n) + ".png";

細かい書式設定とかしたいならsstreamかsnprintfあたりで

127 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 08:42:54.29 ID:w1n6Bp69.net]
>>124
それじゃ起動毎に変わるんじゃね?

128 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 09:21:17.58 ID:5lDUjv3x.net]
起動毎にホスト上でのメモリ配置が変わっても
エミュレータの駆動機構で >>124 のように
エミュレーションする対象の仮想コードのアドレッシング → ホスト環境の実メモリ
の変換テーブル経由なら問題は発生しないべ

129 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 12:36:41.62 ID:bq11e3Cp.net]
>>125
ありがとうございます!
あとでやってみます



130 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 16:52:23.77 ID:vHVIx8+p.net]
ASLRのことなら、無効にする事が出来る

131 名前:デフォルトの名無しさん [2016/12/27(火) 00:09:30.60 ID:hMHSnQwo.net]
>>127を分かりやすく言うと配列みたいなもんだ。
int foo[5];
と宣言すれば、起動毎に確保されるアドレスは違うが、
例えば3番目のアドレスには必ず&foo[3]でアクセスできる。
これと同じ。

132 名前:デフォルトの名無しさん [2016/12/28(水) 09:29:29.21 ID: ]
[ここ壊れてます]

133 名前:jHXCJg+4.net mailto: OggVorbisの使い方を教えてください。
動的リンクライブラリとしてリンクして、
WAVEデータをリアルタイムでOggVorbis形式(CBR)に変換したいです。
VS2015です。
一応ググりましたがどこから手を付けてよいか分かりませんでした。
[]
[ここ壊れてます]

134 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:23:40.53 ID:BmYU7N0Q.net]
ttps://xiph.org/doc/
ここから必要な文書を探して読んで理解するのが本筋

135 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 16:11:48.53 ID:8v6iajLL.net]
ある本の解答例ですが実行すると先頭文字が消えます。これではダメなんでしょうか?
void str_toupper(char *str)
{
while (*str)
*str++ = toupper(*str);
}

136 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 16:20:34.34 ID:ADMXNhyN.net]
*str++ = toupper(*str);

これ鼻から悪魔コード
インクリメント演算子で操作された変数が副作用完了点までに複数回参照するのは動作未定義

*str = toupper(*str);
str++;
と分離しないとまずい

137 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:17:13.63 ID:Z7Smo6OK.net]
*str++ = toupper(*str); でダメなら
*str = toupper(*str++); で動くんじゃない?

……って真に受けるなよ。別の悪魔が出てくるだけだからな。
たとえ期待通りの動作になったとしても、たまたまだからな。

138 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:24:22.85 ID:xodGK7fu.net]
ポインタを直接インクリメントするのはどうにも性に合わん

139 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:38:17.18 ID:nERH8viD.net]
通る道なのでやさしくね



140 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 18:30:26.25 ID:K1FrsN4c.net]
>>133
その本がダメなコードの例としてそれを挙げてるならいいけど、正解としてそれを書いてるのなら、著者の能力とか校正の正確さとか不安になる。

141 名前:133 mailto:sage [2016/12/31(土) 19:18:21.55 ID:8v6iajLL.net]
>>138
正解例です
>>135
下でダメだったので正解を見たら上になってて、そうかとそうかと思ったのですが…
>>134
ありがとうございます
初心者なので更に勉強してみます

142 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:02:29.25 ID:RP5GqFRc.net]
本の題名晒してもいいと思う...

143 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:11:53.63 ID:ADMXNhyN.net]
古かったとして、古い規格だとしても処理系依存
(こっちのコンパイラはこうなるけど、あっちのコンパイラでは別の結果になるよ) なので、
正解コードとするのはよろしくない

144 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:17:55.00 ID:q3l2oU5w.net]
なぜダメなのか何がダメなのか理解しとかないと

145 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 01:32:25.83 ID:LgRst/uw.net]
>>139
まじすか ちょっとひどいですね。 著者が知りたいです。

146 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 12:42:18.55 ID:/LG195GI.net]
str_toupperでググると正しいコードはあるけど >>133 は見つからないなあ。結局なんて本?

147 名前:133 mailto:sage [2017/01/01(日) 14:53:59.97 ID:OFpbxODd.net]
解きながら学ぶC言語(2006年第5刷)ですが、新版見てみたら >>134 のように修正されてました

148 名前:デフォルトの名無しさん mailto:sage [2017/01/01(日) 17:19:11.24 ID:LgRst/uw.net]
望洋先生すか あちゃー

149 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 01:18:25.55 ID:frbRBuKj.net]
副作用完了点が2つ以上あると鼻から悪魔



150 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 01:40:21.76 ID:8dyTsCQL.net]
んなこたーない

151 名前:1/2 [2017/01/04(水) 02:39:58.96 ID:9INFfbdp.net]
このサイトを参考にコードを書いているのですが、レスポンス中に無反応になります。
助けてください。

qiita.com/edo_m18/items/41770cba5c166f276a83

このコードとの差異は以下の通りです。
----------------------------------------------------------
read_size = SSL_read(ssl, buf, buf_size);の前に
memset( buf, 0, buf_size

152 名前: );を挿入

write(1, buf, read_size);を
printf("%s",buf);に変更

close(sock);の後に
printf("OK.\n");を挿入

拡張子をcppとし、C++としてコンパイル。
----------------------------------------------------------

この変更したコードのprintf("%s",buf);で不具合が生じます。
不具合パターンは以下の2通りです。
・ 恐らく受信したHTMLの最終部分と思われる</body></html>を出力後、2行ほどの空行、そして0という数字が出力された後、無反応になる。
・ レスポンスヘッダやHTMLコードの途中で無反応になる。
無反応時にはEnterキーもCtrl+Cも効きません。
しばらくすると、効くようになります。
但し、printf("OK.\n");によるOKが出力されませんので、異常終了している可能性が高いです。
[]
[ここ壊れてます]

153 名前:2/2 [2017/01/04(水) 02:40:11.64 ID:9INFfbdp.net]
環境は以下の通りです。
OS: CentOS 6.4
コンパイラ: GCC 4.4.7
接続先: https://www.youtube.com/

その他、無反応中にnetstat -tanpコマンドで確認すると、
このアプリケーションはESTABLISHEDとなっています。
また、自宅サーバーのHTTPSのサイトへアクセスした場合、HTMLの最後のほうの</body>が出力された後に数秒の間があり、
その後、</html>が出力されて正常に終了します。
この数秒の間も気になります。

よろしくお願いします。

154 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 03:14:24.95 ID:sO2gccKh.net]
>>149
> printf("%s",buf);に変更

%sは文字列のアドレスを引数として受けてそれを出力する
C言語で文字列とはNUL終端されたバイト列だが
SSL_readは文字列ではなく只のバイト列を扱うからNUL終端なんてしていない
そのために受信した文字列以上のおそらくbufの領域を越えて偶然にゼロに
出くわすまでprintfが出力しているんだろう

付け加えると、サーバーから送られてくるバイト列中にゼロが含まれていると
文字列として扱おうとしたprintfはそこまでで終わりと見做してしまう
例えば2ちゃんはたまにそんなHTMLを返してくることがあっていい加減な作りの
自作アプリなんかが途中までしか表示しないとかいう不具合を出す

155 名前:149 mailto:sage [2017/01/04(水) 03:47:33.12 ID:9INFfbdp.net]
>>151
ありがとうございます。
初歩的なミスでお恥ずかしい。
バイナリデータとしてファイルに出力したところ正常に動作しました。(ファイルの内容にも問題ありませんでした)
恐らくマルチバイト文字の途中か何かで切れていたのでしょう。

156 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 08:50:07.15 ID:hKIlPOcN.net]
マルチバイトなんか関係ない
> write(1, buf, read_size);を
> printf("%s",buf);に変更
すんなって事だよアホウ

157 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:47:31.23 ID:87+T0pXS.net]
もしくは1.1sだな

158 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:53:13.47 ID:dvUWMEVx.net]
printf("%.*s", read_size, buf);  なら少しだけ
それでも read_size に至る途中に \0 あったら駄目だし
標準出力に送りたいんなら fwrite(buf, read_size, 1, stdout); こうなるかな

159 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 09:54:39.63 ID:dvUWMEVx.net]
元質問みてなかった わーすーれーてー



160 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 12:32:23.72 ID:xue+qv3N.net]
「んなこたーない」
っていつも書き込みする人がいるけど
もっと具体的な回答してほしい。

「んなこたーない」って答えるくらいだから何かしらの反論や回答持ってるんだろうけど
もっと具体的に言ってくれなきゃ分からない。

161 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 12:37:37.48 ID:FLMu+DIB.net]
そういうのはとりあえず否定したいだけだからスルーでいいよ
回答なんか持って無いと思うし

162 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 13:56:51.11 ID:x5I82FL9.net]
0x00がないと、どこまでもぉ って事だけで。

163 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 15:05:14.50 ID:CkccjIZ7.net]
俺はとりあえずこんなのを提案する(

164 名前:


do {

memset( buf, 0, buf_size );
read_size = SSL_read(ssl, buf, buf_size-1);
printf("%s",buf);

} while(read_size > 0);



do {

memset( buf, 0, buf_size );
read_size = SSL_read(ssl, buf, buf_size);

for(int i=0; i < read_size; ++i){ printf("%c",buf[i]); }

} while(read_size > 0);
[]
[ここ壊れてます]

165 名前:148 mailto:sage [2017/01/04(水) 15:11:07.58 ID:8dyTsCQL.net]
>>157
さすがにこれは説明要らんだろうと思うよ・・・。

「副作用完了点が2つ以上」って、 str++; str++; こんなのでアウトってことだからね。

166 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 17:51:37.32 ID:ku1IYB1y.net]
んなこたーない

167 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 18:08:39.09 ID:issqqmbF.net]
do while()って嫌いだから使わん

168 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 18:10:34.06 ID:dvUWMEVx.net]
マクロのおまじないでも?

#define FOO() do { あーだこーだ } while(0)

169 名前:デフォルトの名無しさん [2017/01/04(水) 18:15:56.08 ID:pxTed+R/.net]
>>147
言いたいことはわかる気がするが、その文面は明らかに間違っているでしょ。

エスパーすると、
「副作用完了点と副作用完了点の間で、同一の変数を複数回変更する」
と、鼻から悪魔、かな?



170 名前:デフォルトの名無しさん [2017/01/04(水) 18:17:44.69 ID:pxTed+R/.net]
まだ甘いか。
「ある副作用完了点と、次の副作用完了点の間で、同一の変数を複数回変更する」
かな?

171 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2017/01/04(水) 18:21:17.85 ID:83LRywdJ.net]
gotoで地獄へ行くのをdo/break/whileに書き換えることができる。
...
goto hell;
...
goto hell;
...
hell: ...
return 0;
↓↓↓
do {
...
break;
...
break;
...
} while (0);
...
return 0;

172 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 19:49:00.69 ID:wOLmnoYC.net]
>>157
人としての最低限の知能を持ち合わせて調べ直せば本人なら気付くレベルの時しか言っていないのでいつも本人からの訂正レスを待っているのだが、
何故か絶対に自分の発言を撤回したがらないようだ

173 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 21:37:54.73 ID:lUhJzh+Z.net]
言われた方は言われた方で同じこと思ってるんだろ。だから具体的に指摘しなきゃ話が進まない。

174 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 22:12:54.91 ID:zg5YylVI.net]
ピンポイントで間違い指摘されてんだから自分こそ根拠を述べろよ。
「副作用完了点が2つ以上」なんてどこにもねーんだから。
わかないよ〜ホレホレって荒らしたいだけ?

175 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 22:45:56.82 ID:by3GIgBn.net]
>>157
さすがに >>147-148 だと >>147 の方に説明責任があると思う

176 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 23:27:27.83 ID:6PKdRVzk.net]
MISRA-C研究会が書いている、MISRA-C 2004(C90) の本をみっちり、勉強しろ!

研究会のメンバーでさえ、規格に詳しい人がいないのだから、
日本人では、規格に詳しい人はいない

トヨタでも、MISRA-Cの遵守率が5%しかない。
こういう素人が作る、医療機関・産業機械は怖くて使えない。
アプリのバグで、すぐに人が死ぬ

コンパイラを作る方も、あやふやな解釈をしているから、
紛らわしい書き方を避けて、かなり安全に、コーディングしないと危険

極端に言えば、1文1文、分離して書くこと。
バグが多く出る箇所は主に、マクロ・複合文・型違いの3つ

177 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 23:45:39.23 ID:xue+qv3N.net]
> 勘違いしてないか?
とか
> 日本語おかしくないか?
とか言ってあげれば>>147も自分の間違いに気づけたんじゃないかなって思う。

178 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 23:48:11.13 ID:NgyPecWp.net]
お前らちょっと温泉でも行ってこい

179 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 23:48:33.21 ID:8dyTsCQL.net]
>>173 ちっとも具体的じゃないが、それでいいの?正直なにが違うのかわからん。
(日本語としてはまったく問題ないしな。)



180 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 00:16:26.21 ID:kU82p3Tw.net]
> >>147
> 副作用完了点が二つ以上存在すること自体は問題ないだろ。
> 複数の副作用完了点で同じ変数を変更、参照するんのが問題なんだよ。
> 安易な気持ちで書き込みすんな。一生ROMってろ。

ネラーならこれくらい言えないとな。

>>175
「んなこたーない」だけだと単に否定したいだけの書き込みみたいで、荒らしなのか普通の指摘なのか曖昧。
>>158みたいに受け取る人もいるし。
>>173は具体的じゃないけどまだましなほうでしょ。

181 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 07:15:07.48 ID:Tn1lGUp3.net]
副作用完了点が2つ以上あると鼻から悪魔
 ↓
× んなこたーない
○ 勘違いしてないか?

理由:「んなこたーない」だけだと単に否定したいだけの書き込みみたいで、荒らしなのか普通の指摘なのか曖昧

182 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 07:20:28.53 ID:IruuUmgl.net]
一応技術板なので「んなこたーない」って言われたら鼻から悪魔の例を出せばすむ話
まあ例を考えてる時に自分の間違いに気づくと思うが...

183 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 07:35:58.65 ID:Tn1lGUp3.net]
嵐かどうかは別として間違いの指摘かどうか曖昧でわからない奴はヤバい

184 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 09:10:38.60 ID:yWb7mDiI.net]
if (*str++ && *str++ && *str++)
&& と if の条件式の終わりは副作用完了点だけど問題を起こすコードではない
※ 役にたつコードかはしらんw

185 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 11:34:50.96 ID:nSwRuxqn.net]
大学の授業で、client.cというファイルとserver.cのファイルを渡されて
このプログラムを解析して、何でも良いから通信するプログラムを作れと言われたんですが
何をやればいいのかさっぱりです。
サーバとクライアントでファイルが2つに分かれてるってことは
プログラミングのテストをするにも2台PCを持ってないとできないってことでしょうか
何でもいいのでアドバイスください。。。

186 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 11:37:47.99 ID:Xc98514b.net]
>>181
PC 1台でも出来ます

187 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 11:44:42.65 ID:yWb7mDiI.net]
server のプログラムを実行しておいて
接続先を 127.0.0.1 (または localhost) にした client のプログラムを実行すれば桶

後は実行OSの事情次第(FWの警告をスルーする等)

188 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 11:51:25.19 ID:33EuaIzL.net]
>>181
client.exe server.exe生成
→server.exeを起動し通信待機
→client.exeを起動し通信開始
でいいよ

189 名前:デフォルトの名無しさん [2017/01/05(木) 11:55:16.72 ID:nSwRuxqn.net]
>>182-184
親切にありがとうございます。
Linux環境でプログラムしているのですが
server.cをコンパイル&実行すると待機中のせいか何なのかわからないのですが
コンソール上で他のコマンドが打てなくなってしまうので2台PCが必要なのかと迷っていたのですが、1台でもできるのですね。
どうやったら待機中でもclientのコンパイル済みファイルを実行することができるのでしょうか。。



190 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 12:00:04.09 ID:CkAWate/.net]
んなこたーない
って前々から他のC++スレでも使われていたけど、
自分からは何も根拠を示さず、ただ周りからの反論を煽りたいだけのレス
みたいな受け取られ方が少なからずされていたように感じるんだけど。

コミュニケーションって難しいな。

191 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 12:06:51.34 ID:yWb7mDiI.net]
>>185
bash だったら
末尾に & つけて呼び出すとバックグランドで実行するみたいよー
# server [enter]
 : 待機中でだんまりさんw

# server & [enter]
 : すぐ次の入力待ちになる server は裏で実行中
#

192 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 12:25:39.85 ID:nSwRuxqn.net]
>>187
できました!
ありがとうございます助かりました

193 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 13:10:33.43 ID:Goea0txf.net]
nohup をつけるともっと幸せになれるよ

nohup server &

194 名前:デフォルトの名無しさん [2017/01/05(木) 13:26:13.09 ID:NumGywN/.net]
馬鹿がnohupなんか付けたらいつまでもプロセス残るだろ
不完全なサーバーアプリケーションのプロセスをいつまでも残すということは
セキュリティ的に問題外

195 名前:デフォルトの名無しさん [2017/01/05(木) 14:20:26.50 ID:wksprrkU.net]
0xFFFFFFの変数がif(n > 0)で真になるんだがなんだコレ?
クソムカツクな死ねよ

196 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 14:25:53.51 ID:yWb7mDiI.net]
64bit (2の補数の)符号付で 00FF FFFF は正なんだけど
48bit の符号付整数での比較を望んでいるんだろうか?

197 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 15:39:10.85 ID:60LIuvs1.net]
48bitでも32bitでも正ですが

198 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 17:24:14.22 ID:5KDyH/yc.net]
>>191
何だこれと言われても言語仕様としか言いようがない
auto n = 0xFFFFFF;
if (n>0)//必ず真

199 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 18:52:01.04 ID:sOp8JEWl.net]
逆になぜ偽になると思ったのかが知りたいな。



200 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 18:58:22.71 ID:25Qby3+x.net]
auto n = 0xFFFFFF;
*reinterpret_cast<int*>(&n) > 0

201 名前:デフォルトの名無しさん mailto:sage [2017/01/05(木) 19:26:42.79 ID:ivHnG5Le.net]
int が 24bit ってダメなんだっけ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<267KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef