C言語なら俺に聞け(入門編)Part 116
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/06/14(金) 20:22:05.73★前スレ
C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 164代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/C/C++の宿題片付けます 165代目
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん
2013/06/14(金) 21:34:37.720003デフォルトの名無しさん
2013/06/14(金) 22:08:33.81readするときそのバッファにデータがあるかどうかどうやって示しているんでしょうか?
配列からデータが無くなるっていうのがよく分かりません。
どんな状態でもデータはありますよね?配列宣言したら初期状態があるんだし。
00043
2013/06/14(金) 22:19:36.90Cで実装するときはどうすればいいのかなと......
0005片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/14(金) 22:23:50.140006デフォルトの名無しさん
2013/06/14(金) 22:29:12.66やっぱシンプルにフラグですか....
実装するとかなり面倒くさいですねこれでも
0007デフォルトの名無しさん
2013/06/14(金) 22:39:08.70例えば
struct {
int size_data; // 有効データサイズ
int size_alloced; // 確保量
char *data; // データ
} MY_DATA;
みたいにして
初期化は
MY_DATA d;
d.size_data = 0;
d.size_alloced = 1024;
d.data = (char *)malloc(d.size_allocated);
とし、使うときは
char str[] = "test";
strcpy(d.data, str);
d.size_data = sizeof(str);
とかする。
面倒だけど。
0008片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/14(金) 22:42:38.780009デフォルトの名無しさん
2013/06/14(金) 22:45:23.970010デフォルトの名無しさん
2013/06/14(金) 22:46:37.71javaは難しいけど機能多過ぎ...
0011デフォルトの名無しさん
2013/06/14(金) 22:48:38.88だったらC++でやればいいが
「面倒 = 楽しい」
だからCに居座っているのだ
0012デフォルトの名無しさん
2013/06/14(金) 22:57:02.68C++考えた人は天才肌なんだろうな
0013デフォルトの名無しさん
2013/06/14(金) 23:01:25.33Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:〜"));
startActivity(intent);
こういったやり方だとメール送信画面やURL先のブラウザが立ち上がってしまいます
暗黙的Intentでメーラーやブラウザの一覧から選ぶ、またはデフォルト起動指定されたものを
アプリアイコンから起動した時のように、初期画面で起動するにどうしたらいいでしょうか?
0014デフォルトの名無しさん
2013/06/14(金) 23:20:36.48マルチか?
0015デフォルトの名無しさん
2013/06/14(金) 23:39:00.34より少ないツールで目的を達する方が天才だろ
0016デフォルトの名無しさん
2013/06/15(土) 00:49:26.850017デフォルトの名無しさん
2013/06/15(土) 01:26:27.090018デフォルトの名無しさん
2013/06/15(土) 01:53:19.240019デフォルトの名無しさん
2013/06/15(土) 09:26:45.82どうみても逆
0020デフォルトの名無しさん
2013/06/15(土) 10:45:56.56密かに敢行されるものなんですか?
0021デフォルトの名無しさん
2013/06/15(土) 10:47:00.980022デフォルトの名無しさん
2013/06/15(土) 10:49:22.48実行されている最中は遅くなる
0023デフォルトの名無しさん
2013/06/15(土) 10:56:34.600024デフォルトの名無しさん
2013/06/15(土) 10:57:59.21なるほど
>>22
CとrubyではどっちがGC機構が発達してますか?
学校でGCを観察するプログラムを作れという課題が出ました。
0025デフォルトの名無しさん
2013/06/15(土) 10:59:25.480026デフォルトの名無しさん
2013/06/15(土) 11:00:23.62alternativeとして何がありますか?
0027デフォルトの名無しさん
2013/06/15(土) 11:02:54.140028デフォルトの名無しさん
2013/06/15(土) 11:04:40.070029デフォルトの名無しさん
2013/06/15(土) 11:08:23.29自分でするなら独習でしょう。
0030デフォルトの名無しさん
2013/06/15(土) 11:11:26.53自分でするから課題だ
0031デフォルトの名無しさん
2013/06/15(土) 11:15:55.330032デフォルトの名無しさん
2013/06/15(土) 11:19:05.200033デフォルトの名無しさん
2013/06/15(土) 11:45:59.530034デフォルトの名無しさん
2013/06/15(土) 11:46:37.80https://github.com/ashie/gtkimcocoa
0035デフォルトの名無しさん
2013/06/15(土) 11:56:33.840036デフォルトの名無しさん
2013/06/15(土) 17:49:48.16やっぱり、Q = く、Z = ず だから「くず」とでも読むのかな?
0037デフォルトの名無しさん
2013/06/15(土) 17:58:34.770038デフォルトの名無しさん
2013/06/15(土) 18:10:17.920039デフォルトの名無しさん
2013/06/15(土) 19:42:57.550040デフォルトの名無しさん
2013/06/15(土) 20:17:24.94forはberak;できないのは何故?
0041デフォルトの名無しさん
2013/06/15(土) 20:18:22.780042デフォルトの名無しさん
2013/06/15(土) 20:20:27.78できないの?
0043デフォルトの名無しさん
2013/06/15(土) 20:21:05.81berak; は出来ないよ
break; なら出来るけど
0044デフォルトの名無しさん
2013/06/15(土) 20:21:49.84そうでした....すいません。
continue文が無いのとあるのでは便利さは格段に違いますかね?
continue使いたいんですけど使いどころが分からなくて。
0045デフォルトの名無しさん
2013/06/15(土) 20:23:25.88forでもwhileでもbreak, continue両方使えるけど。
0046デフォルトの名無しさん
2013/06/15(土) 20:27:41.03forでcontinueを使ったときの意味はご存知か?
0047デフォルトの名無しさん
2013/06/15(土) 20:28:30.41breakとcontinueの違いってなんですかね?
一緒じゃないですか?
処理をしないんですから。
0048デフォルトの名無しさん
2013/06/15(土) 20:30:24.500049デフォルトの名無しさん
2013/06/15(土) 20:31:49.59>>40 >>44 を見てると機能の差じゃなくて有る無しを気にしてるように見えるけど。
0050デフォルトの名無しさん
2013/06/15(土) 20:35:08.93berakにしてましたw
ただcontinueもあったことに築き不図
どう違うんだろうかと思っただけです。
そこらへん触れてなくてすいません。
0051デフォルトの名無しさん
2013/06/15(土) 20:58:25.28何もしない
for (i=0; ; i++)
break;
無限ループ
for (i=0; ; i++)
continue;
0052デフォルトの名無しさん
2013/06/15(土) 21:14:20.310053デフォルトの名無しさん
2013/06/15(土) 21:37:35.37そんでアホみたいにネスト深くしてくの
0054デフォルトの名無しさん
2013/06/15(土) 22:05:37.550055デフォルトの名無しさん
2013/06/15(土) 22:12:47.070056デフォルトの名無しさん
2013/06/15(土) 22:55:41.34作りたいんですがVC++かmfcで作るとどういう命令を使うか
ヒントください。
0057デフォルトの名無しさん
2013/06/15(土) 22:57:27.89DirectSoundを調べると良い
単にwavファイルを作れればいいのなら
普通のファイル操作関数とsinでおk
0059デフォルトの名無しさん
2013/06/15(土) 23:03:42.390060片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/15(土) 23:04:13.060061デフォルトの名無しさん
2013/06/15(土) 23:27:33.390062デフォルトの名無しさん
2013/06/16(日) 04:59:22.309x系現役乙
0063デフォルトの名無しさん
2013/06/16(日) 10:36:41.28BoehmGC
0064デフォルトの名無しさん
2013/06/16(日) 15:19:28.140065デフォルトの名無しさん
2013/06/16(日) 15:21:50.08ないよ。
0066デフォルトの名無しさん
2013/06/16(日) 15:31:01.99全く使われないから、手抜きされてる
0067デフォルトの名無しさん
2013/06/16(日) 15:33:40.58インラインアセンブラでもできるんじゃないの?
0068デフォルトの名無しさん
2013/06/16(日) 15:43:22.58もう存在自体を忘れた方がいい
0069デフォルトの名無しさん
2013/06/16(日) 23:41:49.322chに書き込むプログラム作ったんですがアク禁なんで書き込めない。
0070デフォルトの名無しさん
2013/06/16(日) 23:58:49.840071デフォルトの名無しさん
2013/06/17(月) 00:06:06.78それに対する対処とかしてるんですか?2chって。
0072デフォルトの名無しさん
2013/06/17(月) 00:10:52.33何回チャレンジしても書き込めません。
そういう対策してるんですか?2chでは。
今は携帯からですが。
0073デフォルトの名無しさん
2013/06/17(月) 00:24:44.270074デフォルトの名無しさん
2013/06/17(月) 00:39:58.97なるほどー
荒らされないように考えてるんだな2chも。
0075デフォルトの名無しさん
2013/06/17(月) 15:07:41.89なんたらかんたら
} while(0);
こんなんなんか意味あるんすか?
0076デフォルトの名無しさん
2013/06/17(月) 15:32:48.17PHPユーザーが想定する優れたCプログラマ、には意味があるらしい
http://php.net/manual/ja/control-structures.do.while.php
俺はCとPythonな人間なんで、意味なんか見いだせないけどね
0077デフォルトの名無しさん
2013/06/17(月) 15:44:03.58#define XXX() do { 複文 } while(0)
こう書くと
if (cond) XXX(); else ・・・;
if (cond) {XXX();} else {・・・;}
どっちの形で書かれても動く。
0078デフォルトの名無しさん
2013/06/17(月) 15:55:04.63goto 禁止対策
0079デフォルトの名無しさん
2013/06/17(月) 15:56:55.670080デフォルトの名無しさん
2013/06/17(月) 16:06:27.37thx
goto回避という事は、シーケンスな処理の場合のエラーとかですね?
do {
if(処理1()==FAIL) break;
if(処理2()==FAIL) break;
if(処理x()==FAIL) break;
} while(0);
てな感じかな?
処理に待ちが入る場合はcallback関数使うと思うので、あまり出番はないかもしれないですね。
マイコン組込みでは有用かも?
0081デフォルトの名無しさん
2013/06/17(月) 16:07:10.90do { ... } while(0) で囲んだこともあった。 が、今は素直に { } で囲んでるな
0082デフォルトの名無しさん
2013/06/17(月) 16:56:54.99thx 御礼が抜けました。 PHPという事で誤爆かと思いました w
goto回避だけで無く、処理を通過した最後のComplete()処理が目玉という事ですね。
0083デフォルトの名無しさん
2013/06/18(火) 21:30:45.91#include<stdio.h>
void abc(int x,char y);
int main(void)
{
char str[100];
}
void abc(int x,char y)
{
str[x]=y;
}
配列の受け渡しは引数が面倒臭いので
省略したいです。
0084デフォルトの名無しさん
2013/06/18(火) 21:34:47.030085デフォルトの名無しさん
2013/06/18(火) 21:37:50.07その方法がありましたか。
ありがとうございます。
0086デフォルトの名無しさん
2013/06/18(火) 21:48:16.870087デフォルトの名無しさん
2013/06/19(水) 01:13:46.89どこが面倒だって?
static void abc(int x, char y, char * str)
{
str[x] = y;
}
0088デフォルトの名無しさん
2013/06/19(水) 01:53:23.82> 配列の受け渡しは引数が面倒臭い
ttp://ideone.com/MYrF6V
0089デフォルトの名無しさん
2013/06/19(水) 10:17:22.66うわぁ、めんどくさい奴〜
0090デフォルトの名無しさん
2013/06/19(水) 19:09:20.14グローバル変数とか死ねばいいのに
0091デフォルトの名無しさん
2013/06/19(水) 19:51:19.78abc()=3;
int i;
i=abc();
こんな感じです。
配列は両側で代入できるから関数では無理ですか?
0092デフォルトの名無しさん
2013/06/19(水) 19:52:33.61C++なら戻り値を参照にすればできる
ポインタを返して
*abc() = 3;
int i;
i = *abc();
とするのであればCでも可能
0093デフォルトの名無しさん
2013/06/19(水) 19:56:19.84ttp://ideone.com/ewvA9A
これくらいしか思いつかん
0094デフォルトの名無しさん
2013/06/19(水) 19:57:49.830095デフォルトの名無しさん
2013/06/19(水) 20:03:40.600096デフォルトの名無しさん
2013/06/19(水) 20:13:52.31ttp://ideone.com/CoipE7
こういうことか
0097デフォルトの名無しさん
2013/06/19(水) 20:18:22.43#define abc() (*f())
0098デフォルトの名無しさん
2013/06/19(水) 20:24:04.42ああ、関数のカッコの方が * よりも優先度が高いのだったか。
ttp://www.bohyoh.com/CandCPP/C/operator.html
それならそれでいいね。
0099デフォルトの名無しさん
2013/06/19(水) 20:25:57.36ttp://ideone.com/BtfEbS
0100デフォルトの名無しさん
2013/06/19(水) 20:27:41.10配列の名前を入力
str
型を入力
int
要素数
10
作成しました int str[10]
無理ですか?
0101デフォルトの名無しさん
2013/06/19(水) 20:27:51.66それでいい、じゃなくてそうじゃないといけない
優先順位の問題があったとしても (*(f())) としないと
後置インクリメントが意図しない動作を起こすから
■ このスレッドは過去ログ倉庫に格納されています