C言語なら俺に聞け! Part 97
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGまず問題を冷静に吟味して
Cの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
各種リンク、関連スレは>>2-13あたり
C言語なら俺に聞け! Part 96
http://pc5.2ch.net/test/read.cgi/tech/1101615970/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0002デフォルトの名無しさん
NGNGgcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
Visual C++ Developer Center: Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/
【ライセンスや機能などに問題あり】
Microsoft C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/〜lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
Intel C++ Compiler for Linux
http://developer.intel.com/software/products/compilers/clin/noncom.htm
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGC言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100951565/
C言語なら俺俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGいや、スレ立てをソフト開発か何かと勘違いしてないか?
継続スレのスレ立てぐらい、ホスト制限さえ無ければ誰でも立てられるが。
0007デフォルトの名無しさん
NGNG00083
NGNG0009デフォルトの名無しさん
NGNG木梨です
とんねるずです
この歌をいただいて
初めて演歌の心を知りました・・・
0010デフォルトの名無しさん
NGNGビープ音を使って人が話しているような音を出す事ってできるのでしょうか?
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG8bit機全盛の時代にそんなのあったな
F-BASIC に TALK コマンドを新設するソフト
「さんだ〜ふぉ〜す」も有名
karateka の主人公は come on ! と叫ぶし
0013デフォルトの名無しさん
NGNG喧嘩売っているの?
0014デフォルトの名無しさん
NGNGスレを「立てた」「立てなかった」の問題であって、
「立てられる」「立てられない」の問題ではないだろ。
いつもその調子で論理のすり替えやってんの?
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1100951565/
http://pc5.2ch.net/test/read.cgi/tech/1101615970/
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG入力した文字列を格納した配列のポインタを戻したいんですけど、警告がでました。
警告1:プロトタイプ宣言のない関数'input'の呼び出し。(関数 main)
警告2:コードは効果をもたない。(関数 main)
警告3:問題のあるポインタの変換。(関数 input)
ソース↓
#include <stdio.h>
#define MAX 256
char *input();
void main()
{
*input();
}
char *input()
{
char s[MAX];
printf("COMMAND:");
scanf("%s", s);
return s;
}
0020デフォルトの名無しさん
NGNG#define MAX 256
char *input(void);
void main()
{char *p;
p=input();
}
char *input(void)
{
static char s[MAX];
printf("COMMAND:");
scanf("%s", s);
return s;
}
0021埋め厨
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGうんこじゃ無いから却下!!!
0025デフォルトの名無しさん
NGNGprintf("[\"] [%%d]\n");
0026デフォルトの名無しさん
NGNG動きました!
ローカル変数の扱いの間違いだったんかな?
ありがとうございました。
0027デフォルトの名無しさん
NGNG釣りじゃなかったのかよ
二度と来るな糞
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG初心者です。
参考書によって
void main() と書いてあるものと
int main() と書いてあるものの2種類ありますよね。
intにしてreturnしても、どこにも使われてないし
プログラムも問題なく動くので
全部voidでいいと思うんですが。
voidにしてはいけない理由でもあるのでしょうか。
0033デフォルトの名無しさん
NGNGその通り、処理系が認めていればなんでもいい。
ただし、コードの可搬性はなくなる。
994 :デフォルトの名無しさん :04/12/11 23:11:27
>>993
可搬性をどの程度持たせるべきかとは、全く別な議論だな
996 :993 :04/12/11 23:12:30
>>994
その通り。個人だったら個人で、団体なら団体で勝手に決めればいい。
ISO/IEC 9899:1999
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG>>980他
JIS X3010:2003(いわゆるC99)ではこういう風に書いてある。(ISO/ANSIも同じだろう)
5.1.2.2 ホスト環境
5.1.2.2.1 プログラム開始処理
プログラム開始時に呼ばれる関数はmainとする。
処理系はこの関数に対してプロトタイプを宣言しない。
この関数は次の4種類の方法のいずれかで定義しなければならない。
1. int main(void);
2. int main(int argc, char *argv[]);
3. 上記2つの方法のいずれかと等価なもの。
4. 処理系定義
ちなみに5.1.2.1でフリースタンディング環境の場合プログラム開始時に呼ばれる関数は(戻り値の型・引数含め)処理系定義と書いてある。
0036デフォルトの名無しさん
NGNGLinuxのようなOSもそのフリースタンディング環境になるの?
003736
NGNG0038デフォルトの名無しさん
NGNGOS自体はフリースタンディングだと思う。
ただシェルあたりは独立したプログラムにするのであれば、それはフリースタンディングではないだろうな。
0039デフォルトの名無しさん
NGNG― 複素数型を使っていない
― 標準ヘッダは<float.h>, <iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, <stddef.h>及び<stdin.h>しか使っていない
0040デフォルトの名無しさん
NGNGWinMainはどっちだ?
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGなんとか計算の結果を2次元配列風に表示するところまではできたんですけど
実際に2次元配列に結果をいれることが出来ません。
アドバイスおねがいします、、、
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG・メモリが確保できない
・二次元配列を関数の引数に渡せない
のどちらかかな。
ちゃんと>>1のFAQを読んでいるなら、違うだろうけど。
0046デフォルトの名無しさん
NGNGi番目に小さい素数を返す関数nthprime(i)をつくり、500番目に
小さい素数を求めよ。
作成したプログラムのアルゴリズム書け。
ただし関数nthprimeは再帰呼び出しを用いて作成すること。
#include<stdio.h>
int primep(int) ;
int nthprime(int) ;
int main()
{
int i = 500 ;
printf("%d",nthprime(i));
}
int primep(int i)
{
int k ;
for(k = 2 ;k < i ;k++){
if(i % k == 0){
return 0 ;return 1 ;
}
}
}
int nthprime(int i)
{
/*ここがわからないです・・・*/
}
誰かお願いします。
0047デフォルトの名無しさん
NGNG機能か一昨日同じような問題に答えた記憶があるな。宿題スレで。
0048デフォルトの名無しさん
NGNGぶっちゃけ同じ人なんですが〜アルゴリズムについて
教えていただけなかったので・・・。
というかint primep(int i)の中身が納得できないんです。。。
0049デフォルトの名無しさん
NGNGreturn 0 ;return 1 ;
}
ここがわからないです
005043
NGNGfor(i=0; i<SIZE; i++)
{
for(j=0; j<SIZE; j++)
{
mandel[i][j] = 0;
}
}
こんな感じでなら二次元配列すべてに0を入れたりi+jの結果を入れたりすることはできるのですが、、、
マンデルブロー集合の計算でもfor文を使いまくってるんで
そこから見直したほうがいいでしょうか?
0051デフォルトの名無しさん
NGNGオレも他の人もそんなことは一度も書いていない
0052デフォルトの名無しさん
NGNGもしわかってるならでいいんですが
i=500だったらこれで素数判定はおかしくないですか?
0053デフォルトの名無しさん
NGNGfor(k = 2 ;k < i ;k++){
if(i % k == 0){
return 0 ;return 1 ;
}
}
だっただろ?
なんで勝手に問題書き換えるんだよ
005453
NGNG005553
NGNGif (i % k == 0) {
return 0;
}
}
return 1 ;
こうね
005653
NGNGそのforループの中では、渡された数が2〜(渡された数-1)の範囲の数で割り切れるか試してるわけだ。
割り切れたら素数じゃないから0を返し、割り切れなかったら素数だから1を返してる。
OK?
0057デフォルトの名無しさん
NGNG{
if(i == 500)
{
nthprime(0);
}
return 3571;
}
0058デフォルトの名無しさん
NGNG計算の結果とやらがローカル変数に格納されていて
格納先の2次元配列との受け渡しでポインタ処理を間違っていたり、
どちらかの変数の寿命に整合性が取れていないことが原因かとみた。
0059デフォルトの名無しさん
NGNGどう考えてもわかってない人の方が少ないから、そういう言い方は逆に失礼だと思うよ。
0060デフォルトの名無しさん
NGNG1って素数だっけ?
0061デフォルトの名無しさん
NGNGどこにも1が素数だなんて書いてないと思う
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG違うが、「この関数を使って」で示された関数はそこを考慮してなかった
それをそのまま使っただけだ。
0064デフォルトの名無しさん
NGNG>>56
> 素数は1とそれ自身以外では割り切れない数のことだ。
0065デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG揚げ足取りウザい
0068デフォルトの名無しさん
NGNGいや俺が覚え間違えてたのかな〜と思っただけ。
0069デフォルトの名無しさん
NGNG心が荒んでますね。
0070デフォルトの名無しさん
NGNGiが500だったら
for(k = 2 ;k < 500 ;k++)
になるから、
if (i % k == 0)
ここでiは2〜499で割り切れるか試されるの!
なぜわかってくれんのだ
>>68
そうかごめん。
>>69
そうかもしれんorz
0071デフォルトの名無しさん
NGNGわからない理由は答えが3571になるのに素数判定では500までしか
やらないからです。
すみません。バカで・・・。
0072デフォルトの名無しさん
NGNGそう500だね
0073デフォルトの名無しさん
NGNG素?
nthprimeはnまでの中の最大の素数、じゃなくて、
n番目の素数 を求める関数だろ
0074デフォルトの名無しさん
NGNGはい。そうです。
0075デフォルトの名無しさん
NGNGprimepは単に与えられた数が素数か素数かを判定するだけ。
3571を計算してるのはnthprimeの方。
nthprimeの方で数字を1から順番にprimepで評価してやって、
primepが3571回1を返した時点でその回数を返してやるの。
0076デフォルトの名無しさん
NGNG{
int i = 500 ;
の i と、
int primep(int i)
の i が別のもの、って事が判ってないんじゃないの?
0077デフォルトの名無しさん
NGNG>>20のコードって思いっきり間違ってますよ
input()でとって来たの使って作業してると、そのうち動かなくなると思われ…
0078デフォルトの名無しさん
NGNGあっ、nthprimeの方で数字を1から順番にprimepで評価して
るんですか〜!わかりました!!
ありがとうございました!
みなさんありがとうございました!
0079デフォルトの名無しさん
NGNG別のものなんですか?
0080デフォルトの名無しさん
NGNGやっとわかってくれたと思ったのに(;´Д`)
0081デフォルトの名無しさん
NGNGでも76さんのおかげでなんとなくわかりましたよ!
これ以上はご迷惑でしょから〜大丈夫です。
ありがとうございました!
0082デフォルトの名無しさん
NGNG同等のことをしているつもりの動かないコードを晒せ。
0083デフォルトの名無しさん
NGNG正規表現のプログラムが載っているのですが、理解できる気がしません。
・・・・・・正規表現なんて、実際使えればもんだいないですよね?
0084デフォルトの名無しさん
NGNG#include <windows.h>
#include <stdio.h>
int main(){
MessageBox(NULL, "", "", MB_OK);
return 0;
}
ってプログムを止める方が楽しいと思った。
0085デフォルトの名無しさん
NGNGプログラム見るんじゃなくて、理論から勉強しろ。
0086デフォルトの名無しさん
NGNGあの本はわかりやすかったと思うんだけどなぁ
0087デフォルトの名無しさん
NGNGあのーー。オートマトン理論とかいうやつですかね?
やっぱりあれ勉強しないといけないんですか・・・・
0088デフォルトの名無しさん
NGNG単に関数だけコピペで使いたいのならネットで拾ってくればいいし。
0089デフォルトの名無しさん
NGNGTuring Machineから勉強すると良いよ。
それに、オーダーの概念も知らないでしょ。
009087
NGNG時間があれば勉強してみます。ありがとうございました。
0091デフォルトの名無しさん
NGNG0092
NGNGここの3ページ目の下のほうにある(47)〜(53)の答えを教えてもらえませんか?
ttp://www.bohyoh.com/Books/ReikaiA01/RSA01chap11.pdf
ここの(29)(30)(31)もです。お願いします。
0093デフォルトの名無しさん
NGNG断る
0094デフォルトの名無しさん
NGNGそのくらいは自分で考えないと、この先何もできないような…。
つーか、strxxxのサンプルソースなんかいくらでもあるんだから
せめて探すくらいしなさい。
0095デフォルトの名無しさん
NGNG宿題スレいけ
0096デフォルトの名無しさん
NGNG素数が1、ではない
0097デフォルトの名無しさん
NGNG-1 は?w
0098デフォルトの名無しさん
NGNGフ━━━( ´_ゝ`)━━━ン!!
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG「1より大きな」ってあたりが美しくない
もっとエレガントに定義してみな
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG見本みせてくれ
お前ならなんと言う?
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG明日までにできてるかな?
0106エラストテネス
NGNG0107デフォルトの名無しさん
NGNG数学的に書いてください
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG#include <stdlib.h>
#define N 6
int array[] = { 9, 0, 2, 5, 3, 2 }; // 適当な入力
int order[] = { 0, 1, 2, 3, 4, 5 }; // 0 から N-1 まで昇順
int shoujun(const int *a, const int *b){
/* ここに order[] に対する処理を加えたい */
return (*a-*b);
}
int main(){
int i;
qsort(array, N, sizeof(int), (int(*)(const void*, const void*))shoujun);
for(i=0;i<N;i++){ printf("%d ", array[i]); }
printf("\n");
for(i=0;i<N;i++){ printf("%d ", order[i]); }
printf("\n");
return 0;
}
stdlib.h の qsort() を使い、出力として
array[] = { 0, 2, 2, 3, 5, 9 }; 昇順に
order[] = { 1, 2, 5, 4, 3, 0 }; 元の array[] の要素の小さい添え字順
という操作を qsort で用いる関数に order[] に対する処理を加えて
行いたいと考えているのですがいまいち方法が分かりません。
そもそも qsort でこのようなことは可能なのでしょうか。
0110デフォルトの名無しさん
NGNG構造体でまとめろ。
0111デフォルトの名無しさん
NGNG手っ取りばやくやるならふたつの配列じゃなくて構造体にまとめてひとつの配列にする。
0112111
NGNG0113デフォルトの名無しさん
NGNG先に order[] を array[] の順に並べ替えろ
次に array[] だ
方法2)
別の配列を用意して array[] の順に並べ替えろ、そいつで array[],order[] を入れ替えろ
そいつには元々の array[] の添え字を入れておけ
0114113
NGNG方法1) ではできなかったorz
0116デフォルトの名無しさん
NGNGreturn (*a-*b); はやめな。
0117デフォルトの名無しさん
NGNGそのDLLの中で画面の物理的なサイズを取得しようとしたのですが画面の解像度を変更するたびに物理サイズもそれに伴い色々変わってしまいます。
私が考えていた結果では解像度に関係なく物理サイズは同じ結果となるはず・・・。
私の使い方が悪いのでしょうか?
どなたか教えていただけないでしょうか?
<コーディング>
w_hdc = CreateIC("DISPLAY", NULL, NULL, NULL);
w_ret = GetDeviceCaps(w_hdc, HORZSIZE);
0118デフォルトの名無しさん
NGNG0119117
NGNGすみませんでした。
0120デフォルトの名無しさん
NGNGさゆがC/C++の宿題を片付けるの 36代目
http://pc5.2ch.net/test/read.cgi/tech/1102753497/35-
このあたりについて詳しく書かれた文章とかないでしょうか。
0121デフォルトの名無しさん
NGNG処理系と処理内容によって異なる。
0122デフォルトの名無しさん
NGNGhttp://www.kouno.jp/home/c_faq/c1.html#1
> どうでもいいならint を使う。
大抵intはCPUにとって1番高速に演算できるサイズになっている。
それにCには演算前にshort/charはintになる整数拡張があり、言語自体intを整数型の基本に据えていると言える。
0123120
NGNGこれまで、変数型をいちいち変えていました。
for文のときにループが100回以下ならcharを使うなんてことをしていたのは、
3バイトケチって、手間と速度を犠牲にしていたわけですね。
0124デフォルトの名無しさん
NGNGいや、ループ変数にcharを使っても大抵のCPUでは32ビットレジスタか32ビット幅の
スタック領域を消費するから全く節約にならない。
#言い方悪いが、全くの無駄。
0125デフォルトの名無しさん
NGNGん?それはCPUのせいなのか?
0126デフォルトの名無しさん
NGNG8ビット(つーか1バイト)のレジスタや8ビット幅のスタックを扱えるCPUなら話は別だ。
仮令インテルチップであっても32ビットレジスタをchar変数4つには割り当てられないからな。
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG【イメージ】
○○○( str, "現在%2d時%2d分%2d秒です"
,st.wHour ,st.wMinute ,st.wSecond ) ;
現在の時刻を %d とかの形に変換した後、strに文字列として一気に
流し込むような処理がしたいんですけど、そんな事ができる便利な
関数ありませんか?
ちょっとわかりにくかったらすみません。
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGsprintf()或いは日付けに特化したstrftime()
0131デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNGキャラクタ'AA'(0x4141)を0xAA に変換したいのですが、
スマートなロジックの書き方があればご教授ください。
お願いいたします。
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGでいいんじゃない?
0138デフォルトの名無しさん
NGNGつか、あの質問から何がやりたいのかを理解できたとしたら凄いよ。
0139デフォルトの名無しさん
NGNG日本語はマジ直とけ
技術屋としてシャレにならんぞ
0140デフォルトの名無しさん
NGNGそれは無茶では?
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGせめてmemcmpに。
0144デフォルトの名無しさん
NGNG{
if(c >= 'a') c -= 'a' - 10;
else if(c >= 'A') c -= 'A' - 10;
else c -= '0';
return c & 0x0F;
}
uchar hex2asc(uchar *s)
{
return (hex1asc(s[0]) << 4) | hex1asc(s[1]);
}
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGsscanf(line, "%x",&ans);
とか
0147デフォルトの名無しさん
NGNG「スマートなロジック」を定義してくれ
0148デフォルトの名無しさん
NGNG'AA'だけを変換してくれるような機能は無かった気がするけど。。
0149デフォルトの名無しさん
NGNGttp://www9.plala.or.jp/sgwr-t/lib/strtol.html
0150デフォルトの名無しさん
NGNGやっぱりそんな機能無いよね。
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG{
if(c >= 'a') c -= 'a' - 10;
else if(c >= 'A') c -= 'A' - 10;
else c -= '0';
return c & 0x0F;
}
uchar hex2asc(ushort s)
{
return (hex1asc((uchar)(s >> 8)) << 4) | hex1asc((uchar)(s & 0x00FF));
}
0153デフォルトの名無しさん
NGNGそういう質問なのかw
if (str[0] == 'A' && str[1] == 'A')
ret = 0xaa;
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGunistd.h等のインクルードファイルが無くてエラーが出ます。
あとコンパイルできたとしても動くんでしょうか?
0156デフォルトの名無しさん
NGNG標準ライブラリなどプラットフォーム非依存のライブラリだけを使っていれば、コンパイルできれば動くはず。
0157デフォルトの名無しさん
NGNGそこのgcc使うとコンパイル・実行できる。
普通のWindows用コンパイラを使う場合はエラーが出た箇所を
片っ端から#ifdefで囲んでいってWindows用に書き換えていく必要がある。
人はこれを移植と呼ぶ。
0158デフォルトの名無しさん
NGNG>>157
ありがとうございます。
Cygwinを試してみます。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGmain()
{
char buf[80];
scanf("%s",buf);
printf("%s %d \n",buf);
return 0;
}
とやったら普通、Aを入力したらA 65と出力しますよね?Aはちゃんとでるんですが10進数のほうがおかしいです。
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG> scanf("%s",buf);
> printf("%s %d \n",buf);
(snip)
>とやったら普通、Aを入力したらA 65と出力しますよね?
普通はそんなバカなコード書きません。
>Aはちゃんとでるんですが10進数のほうがおかしいです。
おかしいのはあなたです。
0164デフォルトの名無しさん
NGNGmain()
{
char a[20];
scanf("%s",a);
printf("%d",a);
return 0;
}
同じ人で恐縮なんですが、これでAAAと入力、そしたらprintf側はどうでますか?
656565って感じにはでないんですか?
0165デフォルトの名無しさん
NGNG馬鹿は黙ってろ
0166デフォルトの名無しさん
NGNGCygwin は RedHatLinux だよ
0167デフォルトの名無しさん
NGNGならない
0168デフォルトの名無しさん
NGNGmain()
{
char buf[80];
scanf("%s",buf);
printf("%s %d \n",buf, buf[0]);
return 0;
}
0169デフォルトの名無しさん
NGNGたまにバグるのは気のせいですか・・・orz
0170デフォルトの名無しさん
NGNGmain()
{
char a[20];
scanf("%s",a);
printf("%03x",*(unsigned long *)a);
return 0;
}
0171デフォルトの名無しさん
NGNG君のプログラムにバグは内科医?
0172デフォルトの名無しさん
NGNGこれまたrunしすぎるとエラーでます。
そんなもんですか??
0173デフォルトの名無しさん
NGNGその情報で何か有効な意見が得られると思いますか?
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG#include <stdio.h>
main()
{
char a[20];
scanf("%s",a);
printf("%s %d%d%d",a,a[0],a[1],a[2]);
return 0;
}
へいるまん「これでおーけーね?」
0178デフォルトの名無しさん
NGNG%Xにしろ。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGあらかじめ作っておいた配列に格納する方法を教えてください
C言語でお願いします
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGあらかじめ作っておいた配列に格納する方法を教えてください
C言語でお願いします
0183デフォルトの名無しさん
NGNG宿題は宿題スレへ
0184デフォルトの名無しさん
NGNGTrsFmtConv.c:1641: error: declaration for parameter `stOldSet' but no such parameter
TrsFmtConv.c:1640: error: declaration for parameter `stSet' but no such parameter
TrsFmtConv.c:1652: error: number of arguments doesn't match prototype
cc1: error: prototype declaration
みたいなエラーがイパーイ出るんですが、
原因は何だと推測されますか?
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGヘッダ・・・?
自分もそう思って定義してるつもりだったんじゃないかと
確認してみましたが、未定義じゃなかったようです
二重定義とかかな・・・
0187デフォルトの名無しさん
NGNG何せファイルがデカすぎるからどっかで起きたtypoが全体をブッ壊してるようにも思える。
0188185
NGNG解けたあああああああああああああああああああああああ
原因は内部変数の定義でセミコロン付け忘れでした_| ̄|○
>>185,>>187、レスサンクスです!
もうCの開発嫌だ・・・
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGC言語で配列の要素数を#defineやプログラム内で宣言せずに
scanfなどでプログラム実行中に後から指定する方法は無いのでしょうか?
やって見ると、「定数式が必要」とエラーになるのですが・・・
0192デフォルトの名無しさん
NGNGC言語では、配列の大きさはコンパイル時に(というかプログラムを書いた時点で)
決まるものでなければなりません。たとえば、int n; int a[n]; という宣言は不可能です。
プログラムが動いてから配列の大きさを決めたい場合は、関数 malloc() で割り当ててやります。
http://www5a.biglobe.ne.jp/~iwase47/00comp/alloc.html
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG但し掛け算の計算はmulとして関数を作成すること。
おしえれ
0198デフォルトの名無しさん
NGNGvoid mul(int i, int j)
{
return i * j;
}
int main(void)
{
int data[9][9];
int i, j;
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++) {
data[i][j] = mul(i + 1, j + 1);
}
}
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++) {
printf("%d ", data[i][j]);
}
printf("\n");
}
return 0;
}
0199デフォルトの名無しさん
NGNGvoid mul(int i, int j)
~~~~
0200デフォルトの名無しさん
NGNGあうあう。一発書きだから許せ。
int mul(int i, int j)に訂正。
0201デフォルトの名無しさん
NGNG間違っちゃいないんだけど、ばっきゃろーってとこだな
あと九九は2の段からだろ
仮面ライダーが本郷猛だった頃はそうだった
0202デフォルトの名無しさん
NGNGオレモナー
0203デフォルトの名無しさん
NGNGごめん、言いたいことがわからん。
0204デフォルトの名無しさん
NGNGえー、俺、小学校のころ1の段から覚えさせられた覚えがあるべ。
0205デフォルトの名無しさん
NGNG四十か...
0206デフォルトの名無しさん
NGNGfor (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
data[i-1][j-1] = mul(i, j);
}
}
のがいいって言いたいんじゃね?
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGint *pdata;
// ...
pdata = data[-1][-1];
// ...
pdata[i][j] = mul(i, j);
// ...
0209デフォルトの名無しさん
NGNGそこまでメンドい事やるくらいだったら、「data[0][0]は使いません」の方が全然わかりやすい。
0210デフォルトの名無しさん
NGNGメモリが勿体ない
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG年月日それぞれをまたぐ場合をif elseで求めているため条件式の嵐になっています・・・
特に月をまたぐ場合、28日と30日と31日という3つの条件についてそれぞれ求めなければならず、
非常にわけがわからなくなっています。
これって明らかに効率の悪い手法ですよね?
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG課題↓が全く分かりません、教えてくださいマセm(__)m
ttp://www.siokara.cjb.net/siobin/sio001/src/sa10580.zip.html
0215デフォルトの名無しさん
NGNG何度見返してみても自分ではおかしな点を発見できなかったので、見ていただけないでしょうか。
#include<stdio.h>
int main(void)
{
FILE *fp;
fp=fopen("KAZOKUK.EXE","wb");
fseek(fp,0x000140D9h,SEEK_SET);
while(ftell(fp)<=0x000140EDh) fputc(fp,0x90h);
fputc(fp,0xEBh);
fclose(fp);
return 0;
}
エラー E2121 a.c 9: 関数呼び出しに ) がない(関数 main )
エラー E2377 a.c 10: While文に ) がない(関数 main )
エラー E2121 a.c 11: 関数呼び出しに ) がない(関数 main )
0216デフォルトの名無しさん
NGNGエラー E2377 a.c 10: While文に ) がない(関数 main )
エラー E2121 a.c 11: 関数呼び出しに ) がない(関数 main )
0217デフォルトの名無しさん
NGNGそれでただの書き忘れかと思ったんですが、どこにもそんな個所が見つけられなくて困ってます。
どこがおかしいのでしょうか?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG0x000140D9h
のhが意味不明。
0220デフォルトの名無しさん
NGNG逆だ、逆
0221デフォルトの名無しさん
NGNG君の頭
0222デフォルトの名無しさん
NGNGwbで開いて良いのか?知らないぞ。
0223デフォルトの名無しさん
NGNGワロタ。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG()って記号は読み出せないんですか?
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG問題
西暦2000年から10000年の間で,夏季オリンピックが開催されるにもかかわらず,
閏年でない年をすべて列挙するプログラムを作りなさい。
#include <stdio.h>
main()
{
int y;
for(y=2000; y<=10000; y++)
if (y % 4 == 0)
{
if (y % 100 == 0 && y % 400 != 0);
printf("%d");
}
}
0228デフォルトの名無しさん
NGNGscanfに続くネタとして、面白いんだろうか
0229デフォルトの名無しさん
NGNG標準関数の仕様を理解していないんでしょ。
0230デフォルトの名無しさん
NGNGでしょう、なんか見つかりません
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG実行結果は、含まれているなら1を、含まれていないなら0をそれぞれ返すようにしなさい。
文字列検索関数strcmpなどは使用しないこと。
・
・
・
これ誰かわかります?
0233デフォルトの名無しさん
NGNG計算アルゴリズム
http://pc5.2ch.net/test/read.cgi/tech/1090227743/
0234215
NGNGずっとhは必要だと勘違いしてましたorz
>>220
こんなとこにミスがあるとは…
原因は書き忘れのみだと思い込んでました
>>222
80KBになってしまいますた鬱
rb+が正しいみたいですね
>>224
感動ゲーの中では最高傑作と名高いのでやってみることにしました
>>226
いわゆるNoCDパッチってやつです
みなさんありがとうございました。おかげで完成しました。
では心おきなくプレイしてきまつ。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGこれはすごい
0237との
NGNG右ボタンなどはWM_NCRBUTTON_CLICKでつかまえて、ヒットテストをみれば上手くいたのですがホィールはどうしたらできますか?ご存知のかたいたら教えてください
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG>ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
↑これが読めない脳足りんが増えて来ましたね。
0241デフォルトの名無しさん
NGNG>夏季オリンピックが開催されるにもかかわらず,
日本語の使い方がおかしいと思う
>printf("%d");
printf("%d",変数)
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGICOのほうが感動するぞ。
イブバーストエラーもよかった。
弾幕ゲームも、すべての弾を避けれたときに感動するぞ。それ以外はマゾヒズム。
0245デフォルトの名無しさん
NGNG>これ誰かわかります?
俺はわかるぞ
0246デフォルトの名無しさん
NGNGうん、わかるわかる。
0247との
NGNGそれだとうまくいかなかった
なんかヒットテストが常に0になる
やりかたがまずいのかなあ
0248デフォルトの名無しさん
NGNGとりあえず >1 でも嫁。
0249デフォルトの名無しさん
NGNG西暦10000年になる前に暦が変わったり、
人類そのものが絶滅するかもしれない事は考えないのだろうか?
0250デフォルトの名無しさん
NGNG物理の問題で糸にも少しくらい重さがあるじゃないかと思ったことあるだろ
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNGうん、ある。
コペンハーゲン解釈も試験のための答え方は憶えたけど本心では納得してなかったりする。
0253デフォルトの名無しさん
NGNG最近多世界解釈なら納得でき始めている。
納得しちまっていーものなのかなぁ、という不安はある。
0254デフォルトの名無しさん
NGNG#include<stdio.h>
int main(void){
int num[10],i,k,j;
printf("10個の数字を入力して下さい:");
for(i=0; i < 10; i++)scanf("%d",& num[i]);
for(j=num[0]; num[0] < num[10] ;num++)
for(k=num[1]; num[1] < num[10]; num++){
if(j==k)printf("同じ数は%dです\n",j);
}
return 0;
}
9行目と10行目でエラーが出てまして、皆さんだったらどう直されますでしょうか?
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG0258エラストテネス
NGNGfor(j=num[0]; num[0] < num[10] ;j++){
for(k=num[1]; num[1] < num[10]; k++){
if(j==k)printf("同じ数は%dです\n",j);
}
}
0259デフォルトの名無しさん
NGNG基本的なことを調べようともしない奴ばっか増えたの?
0260エラストテネス
NGNGfor(j=0; i<10;j++){
for(k=0; k<10; k++){
if(j==k)printf("同じ数は%dです\n",num[j]);
}
}
0261デフォルトの名無しさん
NGNG同じ数は1です
同じ数は5です
同じ数は1です
同じ数は5です
とか表示されるぞ
もうちょい改良しておけ
0262デフォルトの名無しさん
NGNGfor(j=0; i<10;j++){
for(k=0; k<10; k++){
if(num[j]==num[k])printf("同じ数は%dです\n",num[j]);
}
}
0263デフォルトの名無しさん
NGNG昔からだよ。そうだな、だいたい古代エジプトあたりからだ
0264デフォルトの名無しさん
NGNG日本ではだいたいいつごろからだ?
0265デフォルトの名無しさん
NGNG>>260をコピペしたら間違ってたし
× for(j=0; i<10;j++)
○ for(j=0; j<10;j++)
0266デフォルトの名無しさん
NGNGはっきりした区分はないが、ポリネシア人との邂逅があった時期とされている
0267254
NGNGレスありがとうございます。
>>255
num[0]++に、変更したところコンパイルできました。
私も皆さんのようなプログラムに近づけるよう精進致します。^^;
ありがとうございました。
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNG…俺たちはプログラムではないわけだが。
0270初心者です
NGNG他にもPASCALとTURBO PASCALなどがあります。
根本的に違う言語なんでしょうか?
0271デフォルトの名無しさん
NGNGトロンのノリだな
不倫、なぜ忍び込んだ
0272デフォルトの名無しさん
NGNG君は自分がプログラムであるという事実に気づいていないようだな...
0273デフォルトの名無しさん
NGNG君に使いこなすのは無理って点は全部共通かな
0274デフォルトの名無しさん
NGNG人に訊くレベルにすら達していない莫迦も増えましたが、
得意げに教えたがる手合いも増えましたね。
0275デフォルトの名無しさん
NGNG"TURBO C"や"TURBO PASCAL"はソフトの名前。
"C"や"PASCAL"は言語の名前。
比較するものではない。
0276デフォルトの名無しさん
NGNGオートバイとCBRの違いはなんですか?
ってのと同じくらい プ な発言だぞ
0277デフォルトの名無しさん
NGNG井上君の家のカローラと武田君の家のカローラはどこが違うんですか?
と同じレベルじゃない?
0278デフォルトの名無しさん
NGNGそれはちょっと違うんじゃ・・・
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG「トヨタ」と「トヨタ・カローラ」ってどこが違うんですか? だ
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG一文字ずつ処理するのは必要条件なのか?
0284デフォルトの名無しさん
NGNG>「あいうえお」みたいな文字列を一文字ずつ16進数にして
それぞれどの様な 16 進数値になればよいのだ?
0285デフォルトの名無しさん
NGNG何がやりたいのか、いまいち分からんが「漢字コード」で検索してミソ。
0286デフォルトの名無しさん
NGNGCでアンケートを集計したくてプログラムを書いたんですけど
うまくいきません。
一文字入力してエンターを押すと、処理が一つ跳んでしまうようです。
問題はgetchar の使い方でしょうか?
またはgetcharは使うとまずいですか?
次にソースを載せておきます。誰か原因と代替案お願いします。
0287286
NGNGint main ()
{
int g, h, i = 0, j = 0, k = 0;
for (h = 1; h <= 3; h++){ //簡単の為3人分だけ数える。
//アンケートのQ1.はYes または No で答えるもの。
//Yesを y 、Noを n 、無回答を 0 で入力する。
printf ("Q1. ");
g = getchar ();
if (g == 'y'){
i++;
}
if (g == 'n'){
j++;
}
if (g == '0'){
k++;
}
}
//A1.回答表示
printf("A1.\n");
printf (" Yes = %d\n", i);
printf (" No = %d\n", j);
printf ("Mukaitou = %d\n", k);
return 0;
}
0288デフォルトの名無しさん
NGNG邪道かもしらんが、<conio.h>をインクルードして、getch()を使ったら?
Enter押す必要もないし。
0289デフォルトの名無しさん
NGNGなにが起こってるのかはgetcharから受け取った値をその都度表示してみれば分かるだろう。
0290デフォルトの名無しさん
NGNGもじを数字にして暗号化したいっす
0291デフォルトの名無しさん
NGNGchar sz[] = "あいうえお";
0292デフォルトの名無しさん
NGNG関係ないが、switchにするか、せめてelse ifでつなげ。
0293デフォルトの名無しさん
NGNGとりあえずここを順に読んでみることを勧める。
ttp://homepage1.nifty.com/toshio-k/prog/c/
0295デフォルトの名無しさん
NGNG何かしらんが、一回一回Enter押したいのか?
だったらscanfにすれば。
0297デフォルトの名無しさん
NGNG冗長ですか・・・そうですか λ...
0298デフォルトの名無しさん
NGNG\n入れると動作がおかしくなる。%cのみで。
0299デフォルトの名無しさん
NGNG要件満たしてないじゃん…
wchar_t sz[] = L"あいうえお";
こうじゃないと。
0301デフォルトの名無しさん
NGNG入力ストリームのフラッシュって動作未定義じゃないか。
0303デフォルトの名無しさん
NGNGサンプルのプログラム中に
>//四角形座標の最大最小値の初期化
>max_x = max_z = -1e10f;
>min_x = min_z = 1e10f;
とある"1e10f"はどのような値なのでしょうか?
0304デフォルトの名無しさん
NGNGたしかに意味わからんな。
2進数にしたら、11110000100001111、と左右対称系になるから、
ここに何か意味があるのかも?3Dはわからんからこれ以上
何も言えないが。
0305デフォルトの名無しさん
NGNG適当な値でしょ。
0307304
NGNG最後のfは浮動小数点型のサフィックスだ。
1e10は、「1*10の10乗」って意味だ。
吊ってくるorz
0308デフォルトの名無しさん
NGNG0309303
NGNGえと
1e10 = 10^10 = 10M(100憶) Σ( ̄□ ̄
ありがとうございます。
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG計算間違い。
0312303
NGNG0313デフォルトの名無しさん
NGNG1e10 で
>Σ( ̄□ ̄
なら、1e300 だとどうなるんだろう…
0314デフォルトの名無しさん
NGNGグレートウォールの表面積は何平米?
0315デフォルトの名無しさん
NGNG変数を宣言して初期化する際に
int a = 5 * 3;
のように演算を行って初期化することは正しい行為なんでしょうか。
0316デフォルトの名無しさん
NGNGイイヨー
0318デフォルトの名無しさん
NGNGtypedef struct {
void *data;
list *next;
} list;
と書きたいんですが「構文エラー : 識別子 'list'」とかいうエラーになります。
このような書きかたは出来ないんでしょうか。
0319デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNGこうすれ
typedef struct list_{
void *data;
struct list_ *next;
} list;
0322318
NGNG0323デフォルトの名無しさん
NGNG直線を指定した座標から座標まで引くプログラムなんですが
ターミナルに出力するのではなくてファイルに出力するらしいです。
検索してもライン関数を使ってるのしかなくて、そのライン関数
自体の中身がわからりません。どうか教えてください。
0324デフォルトの名無しさん
NGNGここは課題を教えるスレじゃ無い
0325323
NGNG0326デフォルトの名無しさん
NGNGどなたか名前を入力させて
その名前を10回表示するというプログラムを作成してください
なにとぞお願いします
0327デフォルトの名無しさん
NGNGchar name[128];
scanf("%s", &name);
for (i = 0; i < 10; i++)
printf("%s", name);
0328デフォルトの名無しさん
NGNGいっぺん死んで。
0329デフォルトの名無しさん
NGNG"%128s"かfgetsにしろ
0330デフォルトの名無しさん
NGNG&nameの&は余計だな。
0331デフォルトの名無しさん
NGNGとりあえず&をつけろと教えられている気がする
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG使う直前で宣言する方がわかりやすいから
0334デフォルトの名無しさん
NGNGちゃんとは知らんが、スコープの先頭で宣言しなきゃいけないってのが
コンパイラにとっては都合がいい(コンパイラの実装が楽)でも、
書く側にとっては辛いからじゃない?
0335デフォルトの名無しさん
NGNGコンストラクタの実行タイミングを制御するのにいちいちブレースつけにゃならんのがダサいからだろ
0336デフォルトの名無しさん
NGNGそんな使い方するから scanf 使いはアフォやと偏見もたれるんじゃい
0337デフォルトの名無しさん
NGNGちょい待て。scanfなんか、まともに動くプログラム作ろうと思ったら使わんだろ。
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGそんなことない。結構便利。
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG0343337
NGNGいや、めちゃくちゃちょこっとしたテストプログラム書くときだけだろ?
「まともに動くプログラム」ではない。
0344デフォルトの名無しさん
NGNG正規表現ライブラリとか標準であればそっち使いたいけど。
0345デフォルトの名無しさん
NGNGエムアロック?マロック?
0346デフォルトの名無しさん
NGNGエムアロック
「マロック」って言う奴は例外なく馬鹿。
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGcalloc をシーエーアロックなんて読むんだよ、バカ。
これはカロックだ。
0350デフォルトの名無しさん
NGNG>>342見ろ
>>345
マァロック
0351デフォルトの名無しさん
NGNGいきがったやつは
memory allocation
で,エムアロックだよ,なんてぬかすが,
ネイティブは普通に
マォック
って発音する(のを聞いた).
マロックでいんでない?
オレ的にはcharはキャラと言いたいけど,あれもチャーだしね.
ギタリストかよ
0352デフォルトの名無しさん
NGNGシーエーアロック?なんでaを2回読んでんだw
シーアロックだよ
0353デフォルトの名無しさん
NGNG>>346は例外なくBAKAってことでFA?
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG単独の対象に対して「例外なく…」って言うお前は間違いなくバカ
0356デフォルトの名無しさん
NGNG馬鹿はお前。
malloc はもともと「エムアーアロック」って読むのが正式。
母音が2つ続くので連音して「マァロック」→「マロック」になった。
0357345
NGNGかえって分からなくなりました。ありがとうございました。
0358デフォルトの名無しさん
NGNGほぉぉお。何をもって「正式」なんだか根拠を示してもらおうか。
0359Rubyist!
NGNG0360デフォルトの名無しさん
NGNGDinkin博士の「プログラマ発音史 - 技術用語の史学的考証 - 」知らんのか?
この分野の権威だぞ。
0361デフォルトの名無しさん
NGNG技術的でない曖昧な話題は盛り上がるね.
人間の本質だよ,議論して答えを導き出すという.
言い争いにしかなってないかもしれねーけど,
こういうのを授業でもやりたい.
0362デフォルトの名無しさん
NGNG権威主義馬鹿。
つーか、googleで一件もヒットしないのに、権威?
他の分野ならともかく、プログラムで?
ぷぷぷぷぷ。
0363デフォルトの名無しさん
NGNG>やはりこういう一種の宗教問題的な,
>技術的でない曖昧な話題は盛り上がるね.
大した知識もない馬鹿でも参加できるからね
0364356=360
NGNGわーい、google で検索してやんの!
0365デフォルトの名無しさん
NGNGちょっとワロタ
0366デフォルトの名無しさん
NGNGあ、そ。じゃ、エムアロックね。
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG教えてください!
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGsinはサインに決まってる。
そして、cosはコカインだ。
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG最高に頭悪そうな発言してください in ム板 (3)
http://pc5.2ch.net/test/read.cgi/tech/1101931660/
0377デフォルトの名無しさん
NGNG私が行くには高級すぎて…
0378デフォルトの名無しさん
NGNGextern で外部からアドレス参照できるようにするのはC言語動作的に
大丈夫なのでしょうか?
hoge.h
--------------------------
extern const int* gp_hoge;
--------------------------
hoge.cpp
--------------------------
static const int moge = 1;
int* gp_hoge = &moge;
--------------------------
main.cpp
--------------------------
#include "hoge.h"
int main()
{
printf("%d\n" , *gp_hoge );
return 0;
}
--------------------------
0379デフォルトの名無しさん
NGNG動作上はまったく問題ない
が、なるべく使うのはやめたほうがいい
0380デフォルトの名無しさん
NGNG何のためにstaticをつけているのだろうか。
0381デフォルトの名無しさん
NGNGchar a[5][6];
ってカンジに宣言してて
iはいろいろ変わっていってて、ある条件下で
a[0][1]にiの値を入れたいんですが何か方法ありませんか?
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGif ( i == "ある値" )
a[0][1] = i;
0384381
NGNGそうやって代入して文字列a[0]を出力すると、
printf("%s",a[0]);では、
a[0][1]の部分がちゃんと出力できないですよね?
これを解決する方法ないですか?
0385デフォルトの名無しさん
NGNGもしくは
a[0][0] = " ";
と適当に値を放り込んでから表示。
0386デフォルトの名無しさん
NGNGだろう
0387デフォルトの名無しさん
NGNG0388385
NGNG_|\○ノ" あ・・・
0389デフォルトの名無しさん
NGNG>が、なるべく使うのはやめたほうがいい
なぜ?
>380
>何のためにstaticをつけているのだろうか。
見られたくないことがあるから。
そんときgp_hogeは他を指してればいい。
0390デフォルトの名無しさん
NGNG(breakのようにforループを抜けてしまうのではなくて)
iを一つ進めてforループ中の処理の先頭に飛びたいのですが、
簡単に書く方法(命令)は無いのでしょうか。(break並に)
条件以下をswitchしてもいいのですがなんか書き方が面倒です。
for(i=0;i<1000;i++)
{
:
:
if(hoge==hoo){以降の処理をせずにiを一個進めてループ中の処理の先頭に戻る)}
:
:
(色々な処理)
:
:
}
0391デフォルトの名無しさん
NGNGなんかネタみたいな質問だなcontinue
0392デフォルトの名無しさん
NGNGあ、便利なのがあったんですね。知りませんでした。ありがとうございます。
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNGまぁな。ただしそんなコード書く奴は馬鹿だが。
0395デフォルトの名無しさん
NGNGextern で外部から参照できるようにするのはC言語動作的に
大丈夫なのでしょうか?
hoge.h
--------------------------
extern const int moge;
--------------------------
hoge.cpp
--------------------------
static const int moge = 1;
--------------------------
main.cpp
--------------------------
#include "hoge.h"
int main()
{
printf("%d\n" , moge);
return 0;
}
--------------------------
0396デフォルトの名無しさん
NGNG上で回答もらってんだろ。氏ね。
しかもcpp?馬鹿。
0397デフォルトの名無しさん
NGNGファイル内でstatic で定義した変数を
extern で外部から参照できるようにするのはC言語動作的に
大丈夫なのでしょうか?
hoge.h
--------------------------
extern const int moge;
--------------------------
hoge.cp
--------------------------
static const int moge = 1;
--------------------------
main.c
--------------------------
#include "hoge.h"
int main()
{
printf("%d\n" , moge);
return 0;
}
--------------------------
0398デフォルトの名無しさん
NGNGhoge.h の中の extern は未解決参照としてリンカに渡されリンカが自動生成するオブジェクト
hoge.cp の中の static は内部ラベルがつくだけでリンカにはDATAセクションの一部として渡される
main.c が参照している moge は hoge.h で宣言された未解決参照で、hoge.cp で定義された moge とは別物
よって main.c の翻訳結果を実行したとき、規格合致処理系なら 0 と表示する
もし 1 と表示する処理系があったなら、その処理系は規格合致処理系ではない
0399デフォルトの名無しさん
NGNG普通だ。それより、
>>393
for の構文を検討するように。
制御変数などというものはない。
0400394
NGNGあ〜、おれも言い方がまずかった。
for (i = 0; i < 10; i++)
みたいな文でiを中で変更するなってことね。
> 制御変数などというものはない。
まぁ、>>393が言わんとすることは大体わかるだろ。
そんなに肩肘張らなくても…。
0401デフォルトの名無しさん
NGNG>ループ中で制御変数を書き変えても
だよな。
>for (i = 0; i < 10; i++)
つーか、ループ中に変えてるじゃん。
0402デフォルトの名無しさん
NGNGttp://www.cppreference.com/
0403デフォルトの名無しさん
NGNGいや、for が
for (変数=初期値; 変数を使った終了判定; 変数++)
という書式だとか思っているなら間違いだし、
変数を途中で増やそうが減らそうが何の問題もない。
0404394
NGNGいやいやいや。もちろん、あなたのおっしゃるとおりです。
が、まぁ、私の言いたいことは典型的なfor (i = 0; i < 10; i++)みたいな
イディオムにおいて、ループ中でiをいじるのは「スタイルとして」ダメでしょうという、
ただその1点のみです。
なぜfor文がこういう構文になっているのか、という問題でもありますし。
0405デフォルトの名無しさん
NGNGあーやっと理解できた。スマソ
それなら同意。
0406デフォルトの名無しさん
NGNG難しくて悩んでいます。きれいに木のようにしてコンソールに
描画するいい方法はないでしょうか・・・。
8
+-+-+
5 10
+-+-+
2 6
たとえば↑こんなふうに・・・
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNGfloat f = -1.5;
などとしたときにビットがどうなっているか知りたいのですが,
どのような方法がありますか?
0410デフォルトの名無しさん
NGNGでおk
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG{ return *(unsigned long*)&src; }
unsigned long x = fToUL(-1.5f);
↑x のビットを調べれば桶
キャストがいやなら union でやれば桶
0414デフォルトの名無しさん
NGNGfloat shousuu;
for(flg=0x80000000;flg;flg>>=1){
if(flg&(unsigned int)shousuu){
putchar('1');
}else{
putchar('0');
}
}
0415409
NGNG今環境がないので, 夜にでもやってみます
0416476 ◆FIcNi4f8js
NGNG(unsigned int)shousuu
これはダメだよ
0418デフォルトの名無しさん
NGNG> 8
> +-+-+
> 5 10
> +-+-+
> 2 6
2+
+ 5+
6+ +
+ 8
+
10+
これでどうかね?
0419デフォルトの名無しさん
NGNGprintf ("%s\n",a[2]);
エラーがでますがなぜですか?
予想ではuが表示されると思うのですが・・・
0420デフォルトの名無しさん
NGNG%sを使っているからじゃないの?
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGprintf("%c\n", a[2]);
0423デフォルトの名無しさん
NGNG○printf ("%c\n",a[2]);
printf ("%s\n",&a[2]);
printf ("%s\n",a);
この二つも試して違いを調べてみてくれ。
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG凄いレスが!
皆さんサンクスです。
%sは先頭からって感じですねありがトン
0426デフォルトの名無しさん
NGNG>%sは先頭からって感じですねありがトン
おまえはあふぉ
0427394
NGNGそれは単にあなたの揚げ足取りだと思います。
それがわかっているなら、あんな質問は出ないでしょう?
0428デフォルトの名無しさん
NGNGひどいこと言わないの
0429デフォルトの名無しさん
NGNG(;´Д`)?まともに動かないだろそれ。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG「sizeof(s[0]) == 1」という事実と「2[s] == s[2]」という事実が
どうつながるのか意味不明なんですけど。
0433デフォルトの名無しさん
NGNG「2[s] と書くと、s から 2バイト後ろを指す」
とでも思ってるんでしょう。
s がどの型を指していても (void * は除く)
a[b] と b[a] は等価ですから! >>430
0434デフォルトの名無しさん
NGNG[a,b]と書けても何の不思議もないはずだ。違うか?
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGそこまで言うなら]a, b[でもいいじゃないか。違うか?
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNGchar *str
int num
};
この構造体について説明するときどう言えばいい?
「文字型ポインタ変数と整数型変数をメンバに持つ構造体DATA」ってのはおかしい?
0439デフォルトの名無しさん
NGNG説明って何の為のものかを言うべきなんじゃないのか。
0440デフォルトの名無しさん
NGNGcharポインタとint型変数をメンバに持つ…でいいじゃん。
変に日本語にするとあいまいにならないか?
「整数型」はshort・longも含むし。
0441デフォルトの名無しさん
NGNG「バグってます」
以上。
0442デフォルトの名無しさん
NGNGprintf("%c\n", 2["aiueo"]);
0443デフォルトの名無しさん
NGNGこの書き方って相手をビビらす以外にまともな使い道ってあるの?
0444デフォルトの名無しさん
NGNGCでは、ループ制御は自分でしなければなりません。
whileではなくforを使うなら、ある程度判りやすく書くことが出来ます。
と言う説明でいいのでは?
0445デフォルトの名無しさん
NGNGこっちならデバッグ用に使うんだけどね。
printf("%c\n", "abcdef"[val]);
0446デフォルトの名無しさん
NGNGint main(){
int a[] = {1,100,10000},*b = a;
//アドレスの中身を++してからその値をアドレスとして参照した先の値を表示
printf("1: *b == %d\n",*b++);
//上に同じ
printf("2: *b == %d\n",++*b);
//参照先のアドレスの中身を--してから表示
printf("3: *b == %d\n",--(*b));
//アドレスの中身を--++++した値をアドレスとしてその値を表示した後その値を++
printf("4: *b == %d\n",++*(--b)++);
//*bの中身を表示
printf("5: *b == %d",*b);
優先順位だけで見るとコメント文のように実行されると思うのですが、
実際は後置インクリメントは優先順位が高いにも関わらず処理の順番
は遅くなります。
演算子の優先順位と処理の順番は別物なのでしょうか。
return 0;
}
0447デフォルトの名無しさん
NGNG>>//アドレスの中身を--++++した値をアドレスとしてその値を表示した後その値を++
//アドレスの中身を--++++した値をアドレスとして参照先の中身を表示
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGアドレスの中身 == メモリのアドレス先に格納されている値
という意味で使用しました。
0450デフォルトの名無しさん
NGNG*b++のような場合は先にbが増えていることもありうるが、
それとこれとは別問題。
C++で自分で++のオーバーロードやってみると、なんとなくわかるよ。
0451デフォルトの名無しさん
NGNG++*(--b)++ は ++(*((--b)++))
0452デフォルトの名無しさん
NGNGインクリメント演算子などは関数に見たてて考えたらいい。
前置の場合はインクリメントさせた自分自身が返されて
後置の場合はインクリメントするが返されるのは元の値、てなふうに
0453デフォルトの名無しさん
NGNGその関数は諸事情によりclose()しないまま処理を終了します。
が、条件によってたまにクローズする時もあります。
再びその関数が呼ばれた時
対象ファイルがオープン状態かクローズ状態かを判定する方法ってありますか
0454デフォルトの名無しさん
NGNG常にcloseしない(orする)ようにしろ。
0455デフォルトの名無しさん
NGNG0456453
NGNG�@「ここまでreadした」カーソルが最初に戻ってしまうので
カーソルを記録するための処理がかなり増える
�A何万回とファイルアクセスを繰り返すのでopen close openは負荷になる
上記理由から
オープン判定が可能であればopenしっぱなしが良いんだけど
判定は不可能ってことでFAですか?
0457446
NGNG0458デフォルトの名無しさん
NGNGロックでもかけとけば?
0459デフォルトの名無しさん
NGNGありがとうございます。ヘヴィメタでいいですか?
0460デフォルトの名無しさん
NGNG完全な解答聞きたかったら環境ごとのスレ行け。
環境に依存するのにFAは無理だろ。
標準では無理だけど
0461デフォルトの名無しさん
NGNG0462453
NGNG制御の方を見直すことにします。
回答してくれた方々、どうもありがとうございました。
0463デフォルトの名無しさん
NGNG演算子の優先順位と結合規則でぐぐれ、考える必要も無いぞw
0464デフォルトの名無しさん
NGNGポインタの基本はある程度理解しましたが、上の意味というか書式の組み合わせがよくわからないっす。
PIC16F84マイコン用のプログラムで、I/Oポートaのレジスタ(アドレス0x05)にアクセスするのですが・・・。
なんでこれでアクセスできるようになるのかよくわからないです。
(*(int *)0x05)
↑ここに"(int *)"があるのがよくわかんないです。で、入れたことにより"* 0x05"がどういう役割を持つのかと。
とりあえず、すでに質問している自分が何言ってるのかすらよくわかりません _| ̄|○
サルな私にも理解できるように、優しく、かつ美しく、そして華やかに教えてください。
お願いしますm(__)m
0465デフォルトの名無しさん
NGNG> ここに"(int *)"があるのがよくわかんないです。
整数をポインタにキャスト
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNGキャストでしたか・・・。始めたばかりでキャストに頭が回りませんでした。
数学的にカッコを展開してました。 _| ̄|○
もう一度基礎からやり直します。
どうもでしたm(__)m。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG状態を記録した構造体なり何なりをやり取りするようにするくらいしかないんじゃない?
staticな変数に記録って手もあるだろうけどリエントラントにならないし、
色々神経つかわんとならんし。
0472デフォルトの名無しさん
NGNGopen()したら0以上になる。close()したらまた-1を格納しとけ。
0473デフォルトの名無しさん
NGNGfor?(前処理; まじ?; 再処理)
ですか?
0474デフォルトの名無しさん
NGNGT1 t1;
T2 t2;
} u;
で、u.t1 に値をセットしたあとに u.t2 にアクセスするとどうなるんですか?
未定義の動作ですか?
0476デフォルトの名無しさん
NGNGそれを未定義にしたらunionの存在意義がなくなるぞ。
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGfloatの変数を小数点以下n桁で切り捨てるにはどうすればいいのでしょうか?
今はn桁繰り上げてintにキャストしてまたfloatに戻してn桁繰り下げ、という
ことをしてるんですが、もっと効率がいい方法ってないでしょうか?
float round(float value, int digit)
{
int temp;
temp = (int)(value * pow(10, digit));
return ((float)temp) / pow(10, digit);
}
0479デフォルトの名無しさん
NGNGsprintf()してatof()とか?
0480デフォルトの名無しさん
NGNGm9(ry
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG精々、pow(10, digit) を中間変数に保存するとか。
(コンパイラによっては最適化でやってくれるかも知らんが)
あとは…digit の値の範囲限定できるなら
static const double pow10[] = {1e0, 1e1, 1e2, 1e3, ...};
みたいに、表引きするとか。
0483デフォルトの名無しさん
NGNGこいつunionの存在意義を勘違いしているぼけ。
0484デフォルトの名無しさん
NGNG> こいつunionの存在意義を勘違いしているぼけ。
たしかに
typedef union {
short word;
char byte[2];
} foo;
とかやってそうだ。で、unionを「そういうふうに使うためのもの」だと思い込んでいさそうな厨だな。
0485デフォルトの名無しさん
NGNGこいつは、openとcloseの対応関係がすでに把握できないような「おわってる」ソースを
平気でかくぼけだからこういうことを言うわけだ。
もしくは、そういう「おわってる」ソースを書くぼけな会社の先輩に「そういうものだ」と
おしえられてそのまま信じ込んでいるぼけ
0486デフォルトの名無しさん
NGNG> カーソルを記録するための処理がかなり増える
っていうか、そんな不安定な状態でオープンしっぱなしってのが ぼけ
readするたびに書け!
0487デフォルトの名無しさん
NGNG> *b++のような場合は先にbが増えていることもありうるが、
ねーよ > ありうる
ぼけ。
Cの基本中の基本だろうが ぼけ
0488デフォルトの名無しさん
NGNGまとめて書け ぼけ
0489デフォルトの名無しさん
NGNGそれにもともと別のに関することだから2つわけて書くのが当然だ! ぼけ
0490デフォルトの名無しさん
NGNGお前はその基本すら不完全にしか知らないからそういう馬鹿回答が出るわけで。
0491デフォルトの名無しさん
NGNGここでも読んでなぼくちゃん
http://www.st.rim.or.jp/~phinloda/cqa/cqa7.html
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGファイル内でしか使わない関数は全部static付けてるんですけど、
コレって何かデメリットあります?
0494デフォルトの名無しさん
NGNG外部から無茶な使われ方せずにすむ。
名前が衝突しなくなる。
0495デフォルトの名無しさん
NGNGない。そうするのが普通。
0496494
NGNG「後で使いたくなったとき外部から呼び出せなくなる」とか馬鹿が言いそうだが無視しろ。
0497デフォルトの名無しさん
NGNGそんな馬鹿見たことねーよ
お前がそう最初勘違いしてただけだろ
0499デフォルトの名無しさん
NGNGうん、ありがとうオマイラ ヾ(・ω・*)
0500デフォルトの名無しさん
NGNG> コレって何かデメリットあります?
ない。積極的につけろ。
せいぜい、処理系によっては、リンク後のmapファイルに関数名がでてこないただの
uniqueな番号になってしまうものもある。程度。(たがいはファイル名と関数名をつないで
数字をつけたもの程度になるだけだけど)
0501デフォルトの名無しさん
NGNG> http://www.st.rim.or.jp/〜phinloda/cqa/cqa7.html
とりあえずそのURLだしておけばにげられると思ったぼけか ;-)
だが
> *b++のような場合は先にbが増えていることもありうるが、
が明らかなぼけなのは、そのペイジ見ても同様。
0502デフォルトの名無しさん
NGNGまたえらく遅いレスだな。必死になって調べてましたか?
では、説明してもらおうかね。
0503デフォルトの名無しさん
NGNGまってたのかー
えらく必死だね ;-)
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGいや、そんな返しいらんからさ、早く説明してごらん、ぼくちゃん。
0506デフォルトの名無しさん
NGNG> *b++のような場合は先にbが増えていることもありうるが、
なんていう知ったかぶりをしてしまった張本人で、それをごまかそうと必死なのか!
なるほど。
0507デフォルトの名無しさん
NGNGwhile(1)
printf("ぬるぽ");
0508デフォルトの名無しさん
NGNGなに?こいつ、前もこんなことしてんのか?
かまうだけ無意味?
>>506
お前からはまともなレスは一切来ないな。
それで会社では「こんな終わってるコード書くなよな〜」なんて後輩いびってるわけ。
屑ですね。ぷ。
0509デフォルトの名無しさん
NGNGというわけで、ほかのひとも答え(彼のボケを確実に指摘してしまうような)を
かかないでください。
ご協力おねがいします。
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNGlintでエラーでるよ。
for (;;) にしろ。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG定数使ってるから?
0515デフォルトの名無しさん
NGNGいや、日下部ならもうちょっとマシなこと言うぞ。
0516デフォルトの名無しさん
NGNG> *b++のような場合は先にbが増えていることもありうるが、
これで何時間ひっぱれるかな ;-)
がんばれば20時間ぐらいひきずりまわしてあそべるかな ;)
1週間は無理か。
しったかぶりをしてしまって、必死になってしまっている厨が、
ひーひーいって、脈拍があがっている状態を長く保たせたほうがおもしろいよね。
で、
かれが「ふう、これでごまかしきれた」と思ったころに、また
「 *b++のような場合は先にbが増えていることもありうるが、」と
ひとこと書くだけでいいのです。
ごきょうりょくおねがいします ;-)
(そうすれば、また必死になってあばれるでしょうから^^)
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGもしくはその挙動が不定や未定義であるという記述を規格にみつけろ?
いまごろひっしこいて規格をしらべてるのかな。
あ、標準規格とか読むぐらいのまともなやつならそんなまぬけなこと言わないか。
せいぜいgoogleしまくってる程度だろうなあ。(でもぜったいにみつからないだろうが。
増えているような場合は)
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNGかれはいまヨーロッパ旅行中のはず。
fjに書いてあった。
0525デフォルトの名無しさん
NGNG「おいすー^^」
「あ、キチたん インしたお!」
「よーし、今週も1スレ潰すぞー^^」
「おー^^」
0526デフォルトの名無しさん
NGNGfjがまだ機能していることに驚いた
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG自分が
「 *b++のような場合は先にbが増えていることもありうるが、」
などとまぬけなしったかぶりをしてしまったことを
葬り去るためなんだろうけど。
どうせ匿名なのになんで、そんなに必死になるのだろうか?
0529デフォルトの名無しさん
NGNG一人でやっててくれ(^^
0530450
NGNG手元のgcc、bccで試しましたがいずれも結果は私の考えが間違っていた
ことを示しておりました。もう二度とあのようないい加減なことは書きませんので
ご勘弁ください。
0531デフォルトの名無しさん
NGNGこいつは先に増えていることは在りえないとさっさと証明すれば終わることなのに、
何をこんなに粘着しつづけているのか。
0532デフォルトの名無しさん
NGNG暇でしょうがないだけだろ
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGついに証言を偽造する始末。
厨必死すぎw
0536デフォルトの名無しさん
NGNGはいはい、もう終わったからねー、粘着しないで下さいゴン中山きんにくんせいや
0537デフォルトの名無しさん
NGNGさっさとそう認めてあやまればいいのにね。
なんであんなに暴れるんだろう。
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGあのー...証明もなにもCの基礎の基礎だとおもうぞ。
i = 1 + 2; で i に3が入っていることを証明するよりむずかしい。
0540デフォルトの名無しさん
NGNGわたしは直接習ったことあるけど。
そんなに ぼけ ぼけ 言っているのはきいたことないぞ。
それとも、たまたまわたしのクラスが優秀だっただけ?
0541デフォルトの名無しさん
NGNGANSI-C規格が証明であり基礎だろう
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNGっていうかANSI以前からそうだし。
0544デフォルトの名無しさん
NGNG厨っていわれるんだろうに。
0545デフォルトの名無しさん
NGNG中高生はもう冬休みなのか?
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG酒が1升ぐらい飲めそうだな。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG黙れ
0558デフォルトの名無しさん
NGNGイミフ
0559デフォルトの名無しさん
NGNG直す前に押し
0560デフォルトの名無しさん
NGNGよく有
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG引きこもってないで遊びに行きなさい。
…ん?おぢさんは仕事中だ。orz
0563デフォルトの名無しさん
NGNG0564478
NGNG>>482
レスありがとうございます。
乏しい知恵を絞ってやっと思いついた方法なんですが、ひょっとして
もっといい方法があって、自分だけ回りくどいことをしてるのかな、と
思ってました。
方法自体はそれほどとんでもなくおバカなわけではないんですね、
安心しました。
0565デフォルトの名無しさん
NGNG浮動小数点数に対して、切り上げとか切り捨てとかを
真剣に考えようとする事そのものが、かなりおバカだとは思うけどな。
0566デフォルトの名無しさん
NGNG煽るだけか?
0567デフォルトの名無しさん
NGNGそうだが、何か?
0568566
NGNG忘れてくれ。
0569デフォルトの名無しさん
NGNG*b++のような場合は先にbが増えていることもありうるが
プ
0570デフォルトの名無しさん
NGNGある本に書いてありましたが、入力バッファを消すにはどのようにしたら
良いのでしょうか。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0574570
NGNGstdio.hにないのかと思い辞書で調べましたが、clrstdin()はありませんでした。
そこでgoogleで「clrstdin」で検索をかけたのですが1件もヒットしません。
どのような関数なのか教えてくださいませんか?お願いします。
0575デフォルトの名無しさん
NGNGclrstdinは標準ライブラリ関数には含まれていないから諦めろ。
0577デフォルトの名無しさん
NGNG失せろ。
0578デフォルトの名無しさん
NGNGふふ
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG>571-576みたいな感じ。
0581デフォルトの名無しさん
NGNGkita-
0582385
NGNG関数の外に書いた変数宣言は、どのタイミングで領域を確保するのでしょうか?
0583582
NGNG0584デフォルトの名無しさん
NGNG最初
0585582
NGNG0586デフォルトの名無しさん
NGNG0587582
NGNGデバッガなどで調べてみます
ありがとうございました
0588デフォルトの名無しさん
NGNG*b++のような場合は先にbが増えていることもありうるが
0589デフォルトの名無しさん
NGNGもうそのネタはいいから。
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG下の様なプログラムを組んだところ、「関数は値を返すべき」という忠告が出ました。
どこか間違ってますでしょうか?分かる方、ご教授の程お願いします。
#include <stdio.h>
int beki(int a,int b);
main(){
int x,y,z;
x=2;
y=3;
z=beki(x,y);
printf("%dの%d乗は%dです。",x,y,z);
}
int beki(int a,int b){
int zz,i;
zz=1;
for(i=0;i<b;i++){
zz=zz*a;
}
return zz;
}
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG>どこか間違ってますでしょうか?
あんたがプログラミングをしようと思うこと。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGマジレスすると、main()の戻り値が省略されているので、intを返すとみなされている。
main()の最後に return 0; でも付ければ警告は消えるだろ。
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNGそうです
種をまきたいんですが
time.hが使えないんですよ
0600デフォルトの名無しさん
NGNG何らかの方法で毎回変わる値を作ればいい。
起動回数でも何でもいい。
0601デフォルトの名無しさん
NGNGぐぐってもわかりません
0602デフォルトの名無しさん
NGNGファイルに作るなりフラッシュに書き込むなりすればいい。
詳細は環境依存。
他にも、状況によって変化していく様な、
どこかのメモリ領域の内容を種にするという方法もある。
とにかく、藻前自身が何らかの方法で毎回変化する値を実装すればよいのだ。
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG他にも適当なローカル変数のアドレスを種にするのもまたよろし。
0605デフォルトの名無しさん
NGNG{
int seed;
printf("乱数の系列を初期化します。\n");
printf("乱数のシード(任意の正の整数):");
scanf("%d",&seed);
if(seed<1)seed=1;
srand(seed);
}
の中で乱数のシードという意味がわかりません。
0606デフォルトの名無しさん
NGNGコンタクトレンズ
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGふつうEXIT_SUCCESS
0611デフォルトの名無しさん
NGNG>ふつうEXIT_SUCCESS
それ、素人。
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG誰も聞いてないです :-)
0615デフォルトの名無しさん
NGNG大抵、/dev/randomみたいな乱数作ってくれる仕掛けがあるから、それで初期化しろ。
0616デフォルトの名無しさん
NGNGnmitaみたいに害毒を垂れ流すのはそろそろよしてくれんか。
0617デフォルトの名無しさん
NGNG別に構わんが
0618デフォルトの名無しさん
NGNGx[i],y[i]にはデータが入っています。
bの値がかなり大きく出てきてしまいます。
x1 = x2 = y1 = xy = 0;
for(i=0;i<n;i++)
{
x1 += x[i];
x2 += x[i]*x[i];
y1 += log(y[i]);
xy += x*log(y[i]);
}
b = (n*xy-x1*y1)/(n*x2-x1*x1);
a = exp((y1-b*x1)/n);
0619デフォルトの名無しさん
NGNGこのへん?
0620618
NGNGすいません、どういうふうに変えればよいのでしょうか?
正直、どこが間違っているのかわからないんですが。
0621デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG俺もやったことあるんだけど、かなりデータ数が多いか、最初からまとまった
データが得られていないとうまくいかない。そのときは仕方がないから
MathematicaのFindfit使っちゃった。
0625デフォルトの名無しさん
NGNGこうかな?
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGstrncpy(buffer, "AAA", 3);
strncat(buffer, " ", 25);
strncpy(buffer, "BBB", 3);
スペースを25個追加する時に、いちいち" "と
記述しないといけないんでしょうか?
うまい方法があったら教えて下さい。
0628デフォルトの名無しさん
NGNG頭悪スレに逝ってください。
0629デフォルトの名無しさん
NGNGchar buffer[32];
char *p = buffer;
int i;
for(i=0;i<3;i++) *p++='A';
for(i=0;i<25;i++) *p++=' ';
for(i=0;i<3;i++) *p++='B';
*p = '\0';
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGよくみたら最後がstrncpyじゃん
ひっかけ?
char buffer[32]="BBB";
0632627
NGNGが正しかったです。ひっかけじゃないです。
>>629さんを参考にコードを作ってみました。
ありがとうございました。
char buffer[32];
getSpace(31, (char *)buffer);
void getSpace(int icount, char *p)
{
for(int i=0;i<icount;i++)*p++=' ';
*p++= 0;
return;
}
0633デフォルトの名無しさん
NGNGchar buffer[32], *p = buffer;
strncpy(p, "AAA", 3);
memset(p += 3, ' ', 25);
strncpy(p += 25, "BBB", 3);
*(p += 3) = '\0';
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGhttp://hobby7.2ch.net/test/read.cgi/car/1103695847/
0636デフォルトの名無しさん
NGNGwhile (1){
struct sockaddr_in client_sin;
memset((void *)&client_sin, 0, sizeof(client_sin));
len = sizeof(client_sin);
accepted_socket = accept(listening_socket, (struct sockaddr *)&client_sin, &len);
if (accepted_socket == -1) {
if (errno != EINTR && errno != ECONNABORTED) {
perror("accept");
exit(1);
}
continue;
}
break;
}
と、書いてみたのですが、
acceptの正しいエラー処理がわかりません。
どのような処理を施せばよいでしょうか。
0637デフォルトの名無しさん
NGNGacceptはC標準にはありません。以上。
0638デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1101931660/
ネットワークプログラミング相談室 Port12
http://pc5.2ch.net/test/read.cgi/tech/1102427855/
0639デフォルトの名無しさん
NGNGInvalidateRectで全画面描画すると
凄いチカチカするんですが
これはもうどうしようもないんでしょうか?
0640デフォルトの名無しさん
NGNG>>1を注目して読んでみよう。
0641デフォルトの名無しさん
NGNGDoubleBufferは?
0642デフォルトの名無しさん
NGNGInvalidateRectってそういうことするためのものだ。
範囲が狭ければクリップ範囲を指定すれば?
0643デフォルトの名無しさん
NGNGchar my_tbl[10] = {
0x01, 0x02, 0x03, 0x04, 0x05,
0x06, 0x07, 0x08, 0x09, 0x0a,
} ;
int main( void ) {
char* data ;
data = my_tbl ;
printf( "%d\n" ,sizeof(data) ); //★
return 0 ;
}
★の所で、10というサイズを得たいのですが、なにか良い方法は無いでしょうか?
ポインタが指し示す先のmy_tblのサイズを得たいのです・・・
無理でしょうか?
0644デフォルトの名無しさん
NGNG不可能
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG文字列は最後に\0が入るから
それだと11バイトを入れてる
0649デフォルトの名無しさん
NGNG釣れますか?
0650デフォルトの名無しさん
NGNG●→●→● b
↑/↑/↑
●→●→●
↑/↑/↑
a ●→●→●
条件が
�@図で見ると●が等間隔に見えるが、実際は等間隔ではない。
�A/は斜め上のみ移動可能とする。
�B進める方向は、右、上、斜め上の3方向のみ。
です。参考になるプログラムを探しているのですが、巡回セールスマン問題
というプログラムを見つけたのですが、やりたい事と少し違う?感じがします。
このプログラムを解くのに参考になるWebページを知っている方、
又は、良い検索キーワードを知っている方が居ましたら教えてください。
よろしくお願いします。
0651デフォルトの名無しさん
NGNG・ダイクストラのアルゴリズム
・隣接リスト表現(adjacency matrix)
0652デフォルトの名無しさん
NGNGちなみに、「巡回セールスマン問題」とは、すべての点を周り尽くす最短距離とその経路を
求める問題で、NP問題、すなわち、全数検査をしないと求まらない問題に分類されている。
0653デフォルトの名無しさん
NGNG男なら総当りだ。
0654デフォルトの名無しさん
NGNGどちらにしろ、それで解けるから。
0655デフォルトの名無しさん
NGNG●での最短距離と直前の●を求めて行けば解決
0657650
NGNG勝手に変な私を想像しないでください。
0658デフォルトの名無しさん
NGNG「有向グラフ」もぐぐっとけ。要するに、あれだ、aからbとbからaの「重み」が違うって事。
一方通行を隣接表現してしまうと一方通行の表現が面倒になるので、通常は
逆方向を、最長経路よりも長いであろう値(99999999とか)にする。
0659デフォルトの名無しさん
NGNG0661650
NGNG>>651さん
>>653さん
>>655さん
ありがとうございます。さっそく調べます。
>>657さん。想像に釘さして申し訳ありませんけど、自分九州男児ですから。(つД`)スマソ
0662 ◆bGJcuGhzXI
NGNG0663デフォルトの名無しさん
NGNG最短距離が見付からなくとも死にはしない。
0664デフォルトの名無しさん
NGNGうっせハゲ
0665デフォルトの名無しさん
NGNG#include "hoge1.h"
#include "hoge2.h"
とかってなってたら、必ず hoge2.h が hoge1.h の後に取り込まれるんですか?
なんか優先順位的なものがあるような気がしました。
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNGincludeというものは
その位置に、そのファイルの内容を入れるという意味だ
優先もクソも無い
0668デフォルトの名無しさん
NGNG#define foo 1
int fuga;
だとして
int func(void)
{
#include "hoge1.h"
fuga = foo;
return fuga;
}
は
int func(void)
{
#define foo 1
int fuga;
fuga = foo;
return fuga;
}
と同じです
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG調べると
>数学関数によって定義域エラーが検出されると、
>errnoにEDOMの値が設定される。
>値域エラーが検出された場合は、
>errnoにERANGEの値が設定される。
>このとき数学関数はHUGE_VALの値を返す。(errno.h参照)
http://www.geocities.co.jp/SiliconValley-Bay/5543/mahou/c/math.html
がありました。
質問;
定義域エラーは関数に入る前に制限をすればいいと思いますが、
範囲エラー(値域エラー)について判断するプログラムをどうかけばいいのか
をご教授ください。よろしくお願いします。
0672デフォルトの名無しさん
NGNGif(errno==ERANGE)
0673デフォルトの名無しさん
NGNG惜しい!「全数検査をしないと求まらない(と思われている)問題」だ
そんなこと、どうでもいいんですけどね
0674デフォルトの名無しさん
NGNG関数にエラーかどうか判断してもらえばいいじゃん。
それが嫌なら、適当な値で線引きしとけ。
0675668
NGNG命令はあるんですか?
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG例えば hoge.h で宣言される関数が stdio.h を使用する場合、
hoge.hの中でstdio.hをインクルードするべきですか?
それともhoge.c、およびhoge.hで宣言される関数を使うソースで
インクルードファイルを羅列するべきですか?
(すべてのヘッダに多重インクルードガードがされてる前提。)
0679デフォルトの名無しさん
NGNGFILEとかを引数に持つのなら stdio.hをincludeするしかないだろ。
0680デフォルトの名無しさん
NGNGん?たとえばhoge.hにvoid func(void);ってプロトタイプが宣言されていて、
そのfunc()(定義はfunc.cにあるとする)内部でprintfやら何やら使って
いたとしても、
> hoge.hの中でstdio.hをインクルードするべきですか?
> それともhoge.c、およびhoge.hで宣言される関数を使うソースで
> インクルードファイルを羅列するべきですか?
↑どちらも必要ないぞ。そのへんはわかってる?
0681デフォルトの名無しさん
NGNG「先にxxx.hをincludeしておいてください」とかやられたらかなわん。
0682680
NGNG×:定義はfunc.cにあるとする
〇:定義はhoge.cにあるとする
0683デフォルトの名無しさん
NGNG個人的には単体includeで作るが
会社のは単体ヘッダだよ。
つまり、ヘッダにヘッダをincludeするなって意味だね。
必要な定義等がある場合、まさしく先にincludeが必要ってなる。
理由は他環境に移植や、ライブラリの保守や可読性とか…
例えば
多重インクルードガードがされていて、
目的のヘッダが何処で実際に展開されているのか分り難いとかを防ぐとか…
include先のヘッダに、更にincludeがしてあって、
そヘッダもincludeがしてあって…と延々となっていて
それが、多重インクルードガードで実際にどうなってるか分らないとかね。
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGヘッダ内で、#ifdef使って、再定義を回避する。
0686デフォルトの名無しさん
NGNGhttp://www.wakhok.ac.jp/~kanayama/C/03/node112.html
0687デフォルトの名無しさん
NGNGアホ会社だ…
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNGC99以降はよく知らんが、そんなの仕様にあったっけ?
0690デフォルトの名無しさん
NGNG// hoge.h
struct hoge { };
// hage.h
struct hoge* hage();
// hige.h
void hige(struct hoge*);
// hogo.h
#define hogo() hige(hage())
// main.c
#include "hogo.h"
main()
{
hogo(); // pass, but undefined behavior
}
よくあるケースだが、hogo マクロを使うだけな場面で
hogo マクロの実装詳細にいちいち立ち入らないと
必要なヘッダや引用すべき順序がわからないのは
巨大で複雑なソースとの付き合い方として苦しくねいか?
別にマクロを使ってるからどうのってわけじゃなく、
#include "hige.h"
main()
{
hige(); // error
}
でも同じことだよな
0691デフォルトの名無しさん
NGNGこいつぼけすぎ。
べつに先にstdio.hをインクルードしtればいいじゃん。
0692デフォルトの名無しさん
NGNGこいつもおおぼけ、それが678の行っている「多重インクルードガード」のことだろうが ぼけ
0693デフォルトの名無しさん
NGNG普通FILE*なので何もインクルードする必要なし。
0694デフォルトの名無しさん
NGNG> hogo マクロの実装詳細にいちいち立ち入らないと
> 必要なヘッダや引用すべき順序がわからないのは
いや、そんな実装がそもそもまぬけ
0695デフォルトの名無しさん
NGNGこいつぼけ。たとえポインターでもincludeしてないときはエラーだ。
0696デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1090652323/
すいません、間違えてうえのスレに投稿してしまいました。こちらで質問にお答えいただけないでしょうか?
689からの投稿です
0697デフォルトの名無しさん
NGNG向こうのスレにレスがついているようだが
0698デフォルトの名無しさん
NGNGどうしたらいいでしょうか?教えてください
エスケープシーケンスはOSの関係上使えませんでした
0699デフォルトの名無しさん
NGNGそれはあんたの実装とやらを聞いてからでないと
同意も反駁もしようがないな
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG|
|
|
|
/V\ ,J >>700
/◎;;;,;,,,,ヽ
_ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
ヾソ:::::::::::::::::.:ノ
` ー U'"U'
0702デフォルトの名無しさん
NGNG環境を言わないとどうしようもない
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNG三田典玄みたいな害毒を垂れ流す奴に餌をやるのはよしてくれ。
0705デフォルトの名無しさん
NGNGファイルから16bitのPCMデータをfreadで2byteずつ読んできて、
上位ビットを bit-high(char), 下位ビットを bit-low (char)に
入れました。これを10進の -32768 〜 32767 に戻して、
すこしこねまわして、最後に再び byteに戻してファイルに
書きたいんですけどうまくいきません。
実はFortranでの数値計算が専門で、Cの知識は厨房レベル
です。ですが・・・ とうしてもなんとかしたいので教えてください。
よろしくお願いします。
0706デフォルトの名無しさん
NGNGどううまくいかないのか分からないと(ry
0707デフォルトの名無しさん
NGNGlong high-10d, low-10d, signal;
char bit-high, bit-low;
...
high-10d = (long)bit-high;
low-10d = (long)bit-low;
signal = high-10d * 256 + low-10d;
...
とかやって10進にしようかとやってみましたがダメダメでした。
FFTとか、GAとかは得意なんですが、Cはこんなあほレベルなんです。
ほんとすいません。
0708デフォルトの名無しさん
NGNG上位バイト・下位バイトっていいたいのか?
0709デフォルトの名無しさん
NGNG> char bit-high, bit-low;
変数名がムチャ。
0710デフォルトの名無しさん
NGNG規格では[a-zA-Z_]だけだった気がするんだが
0711デフォルトの名無しさん
NGNGなにがダメだったのかよくわからんが、
それだと文法エラーにならんか?
0712デフォルトの名無しさん
NGNGついでに数字を入れ忘れた(´・ω・`)
[a-zA-Z_][a-zA-Z1-9_]か
0713デフォルトの名無しさん
NGNGあ、そうです。間違えました。すみません。上位8bit, 下位8bitと考えても
いいですね。ちなみに、エンディアンとか、昨日覚えたぐらいのレベルです。
ポインタとか、構造体は知ってます。
あー ほんとにダメダメですね。
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGこれも怪しいもんだな…
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG一応、学位持ちです。論文も多数あります。
0718デフォルトの名無しさん
NGNGあと、↑がしたんだったら、signalはshortの方がいいんじゃないの?
それ以外に、エンディアンだの符号拡張だのいろいろ問題がありそうだが、
何がしたいのかはっきりせんから、レスも適当だが。
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG符号付きの整数を上下8bitずつに分解して処理するということが
そもそも何の意味があるのかさっぱり見当つかんのよな。
0722デフォルトの名無しさん
NGNGしたいことは、WAVファイルの音楽データに、自作の演算(FFTなど)をかけて
エフェクト処理したいだけです。正直、10進数をプログラム上で演算する知識
しか持ち合わせていないので、2byteでファイルから読んできたデータを、
どうやって10進数にするか? それをどうやって2byteにもどしてファイルに
書き込む処理をするか? が知りたいのです。
fread, fwrite を使ってステレオ → モノラル変換するようなサンプルプログラム
を入手したので、データを読んで書く、というような操作は一応できています。
波形を弄くろうとしたら・・・ ダメダメというわけです。
複素数や特殊関数の演算はしょっちゅうでも、longだintだcharだのは、
Fortranの数値計算にはほとんど使わないので、専門以外のことは
このぐらいの知識しかないんですよ・・・ すいません。
>>720 ファイルのフォーマットは。。。 バイナリだろう、としかわかりません。
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG読み込めばそのまま10進で扱えますYO
int a = 0xff; // 16進で入れる
a += 10; // 10進で演算
エンディアンが違うなら上位下位の入れ替えが必要だけど
0725デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNGすいません、C言語のエンディアンコードって何処に載っているのでしょうか?
ちなみにWavに関する質問者とは別人です
0728デフォルトの名無しさん
NGNG>そもそも16bitでfreadせずに、char単位で読み書きすればいいだけの話じゃないの?
いいえ、逆なんです。入手したサンプルソースが、1byte(char)単位で読むプログラム
だったんですよ。fread 使って 16bit (2byte)単位でで直接ファイルから読めるんですか?
※わたしはそれぐらいCは無知なんです・・・
だったら話は簡単なんですけど。
0729デフォルトの名無しさん
NGNG読み込み順序を逆にしなければいかんかもしらんけど。
unsigned char low;
unsigned char high;
short signal;
fread(&low, 1, 1, fp);
fread(&high, 1, 1, fp);
signal = (short)(high << 8 | low);
0730デフォルトの名無しさん
NGNGhttp://www.kk.iij4u.or.jp/~kondo/wave/
0731デフォルトの名無しさん
NGNG読めます
0732デフォルトの名無しさん
NGNGご丁寧にありがとうございます。今日は自宅で、Linuxがないので
明日に職場で試してみます。
>>730
私もそこは見てみました。ですが・・・ 素人には難しいですね。
>>731
Thanks !!!
0733デフォルトの名無しさん
NGNG>※わたしはそれぐらいCは無知なんです・・・
「Cは」?「プログラミング基礎は」じゃないか?
0734698=726
NGNG0735デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
0736デフォルトの名無しさん
NGNGCだけでは不可能
つまりスレ違い
0737デフォルトの名無しさん
NGNGそうですか・・・失意体前屈
回答ありがとうございます
0738デフォルトの名無しさん
NGNGオーロラの3DCGをVC++6.0で描いてください。
誰か私を助けてください(つ_T)
それとプロジェクトの設定のとこのMidlって何か教えてください・・・orz
0739デフォルトの名無しさん
NGNG>>1
0740デフォルトの名無しさん
NGNGhigh の8bit (char) と low の8bit (char)を10進に変換する方法は、
highをビットシフトして、lowとの論理和をとる・・・
signal = (short)(high << 8 | low);
はお教え頂いてわかりました。演算した結果(signal)を
再び上下8bitにわけるには
high = ((unsigned char)signal) >> 8 ;
low = ( high << 8 ) & (unsigned char)signal ;
でいいですか? いろいろすみませんです。
0741デフォルトの名無しさん
NGNGhigh = (unsigned char)(((unsigned)(signal & 0xff00)) >> 8);
low = (unsigned char)(signal & 0x00ff);
0742デフォルトの名無しさん
NGNGlow = (unsigned char)signal;
0743デフォルトの名無しさん
NGNGsignedの変数を右シフト…か。
0744742
NGNG0745デフォルトの名無しさん
NGNG>low = (unsigned char)(signal & 0x00ff);
high は、signal を 255.0 とで&とって.。。。右シフト、了解です。わかりました。
low は0.255と&ですね。相変わらずわたしは論理積と論理和がわかってなかった・・・
でも、変数の範囲を考えると、>>742 さんのやり方でも切れるんですね。
勉強になりました。
なお、ちなみに私、low high がそれぞれ "unsigned char" でいいのか悪いのか、
わかってません。high のほうは signed でないといけないような・・・
そこだけ注意してやってみます。
0746デフォルトの名無しさん
NGNG>high のほうは signed でないといけないような・・・
馬鹿タレ。
lowとhighはsignalを作るための部品でしかないから
unsignedで何の問題も無い。合成した結果がsignedならいいんだろ。
0747デフォルトの名無しさん
NGNGすいません。ありがとうございました。
しかし、この板すごいっすね〜 感心しました。
0748デフォルトの名無しさん
NGNG入力終了させるようにするにはどうしたらいいですか
教えてください
0750デフォルトの名無しさん
NGNGうまくいかないっていうか、「うまくいく保証がない」だよね
0751デフォルトの名無しさん
NGNG…無理だと思うが…。方法があったら俺も知りたい。
環境が許すなら、getch()を使えばいいだけだが。
0752デフォルトの名無しさん
NGNGあとは大丈夫だと思います。やってみます。ありがとうございました。
0753デフォルトの名無しさん
NGNG取得するコードを書いてます。
メモリからリードする際に4バイト固定かつ4バイトアラインが存在する
という条件があり、ビット指定は
「オフセットxxBit目からyyBit分」
という指定をされます。オフセットは0から始まります。
例えば、21bit目から95bitリードしろという指定が来ると
int a[4]を用意してa[0]の21ビット目からa31ビット目,a[1],a[2],
a[3]の0ビット目から19ビット目にデータがリードされます。
これを、int b[4]を用意し、b[0],b[1],b[2]の0ビット目から30ビット目に
詰めるように格納したいのですが、楽にやる方法が考え付きません。
どなたかご教授お願いします。
0754デフォルトの名無しさん
NGNG効率無視していいのなら、1bitずつコピーするのが楽。
0755デフォルトの名無しさん
NGNGlogical_shift_left(array, size, count); みたいな関数作っといて
とりあえずシステムテスト
後でアセンブラでその関数をチューニング
あ? 「楽に」だっけ
シラネーヨ
0756753
NGNG書いているものの特性上、ある程度処理効率を考える必要があるため
1bitコピーはなるべく避けたいと思っています。
言葉が足りなくて申し訳ありません。
>>755
シフトでやろうと考えたのですが、いい考えが浮かびませんでした。
おっしゃっている関数が具体的にどういう感じのコードを記述すればいいか、
教えていただけませんか?
「楽に」というのは言葉のあやです。かれこれ2時間ぐらい悩んでいるので・・・
0757デフォルトの名無しさん
NGNGなんで31ビット目だけ使わないの?
0758753
NGNG例では、要求が95ビットだけのため、
31ビット目はどのような値でも変わらないからです。
自分の書き方がマズかったでしょうか?
b[0],b[1]は32ビット全部使うんです。
でb[2]は31ビット目は上記の理由で必要ないということです、
0759デフォルトの名無しさん
NGNGどういう感じって、ごくオーソドックスに
a[i]=a[i]>>n|a[i+1]<<(31-n);
とか書いときゃええやん、どーせ C だし
C で書いている以上は実行時のサイクル数は保証外
サイクル数を保証させたければアセンブラかハード
0760753
NGNGなるほど、そのコードなら確かにできますね。
普通に思いつかなかった。。。疲れてるのかなw
処理効率については、サイクル数を厳格に保証しなくてはならない
ほどハードなシステムではないので、そこまで気にはしてないのですが、
ハードとの絡みがあり、ある程度は高速に処理させたいという要求がありまして。
かといってハード側でアライン関係の処理をするとセレクタが増大するため
おいしくないとのことでソフト側でやってたりするんですが・・・
0761デフォルトの名無しさん
NGNGint main( void )
{
typedef struct {
int data1 ;
struct hoge {
int data2 ;
}a[30];
}HOGE ;
HOGE test[2] ;
printf( "%d\n", sizeof(test[0].a[0].data2) ) ;
}
こんなことしようとしてるんですが、見辛いですかね?
実際現場でこんな感じのやり方してる人いますか?
0762デフォルトの名無しさん
NGNGなにかアドバイスがあればよろしくお願いします。
0763デフォルトの名無しさん
NGNG「気がする」とかいってるあたりがだめすぎ
0764デフォルトの名無しさん
NGNGなわけねーだろ。十分可能だ。
0765デフォルトの名無しさん
NGNG同じディレクトリの設定ファイルを読みたいのですが。
環境依存だったらDOSでお願いします。
コンパイラはLSIC試食版で。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768765
NGNG0769765
NGNG環境依存しないのは難しいですか?
0770デフォルトの名無しさん
NGNGhttp://www.kouno.jp/home/c_faq/c19.html#31
0771デフォルトの名無しさん
NGNGint main(void)
{
int ch;
char ss[10];
puts("入力");
printf("->");scanf("%c", ss);
/*[enter]のみ入力*/
printf("d=%d, x=%x\n", ss[0], ss[0]);
return 0;
}
0772デフォルトの名無しさん
NGNGsprintf(buf, "which %s", argv[0]);
system(buf);
0773デフォルトの名無しさん
NGNGなんのためにタグつけてんだ ぼけ
sizeof(hoge.data2) でいいだろ
0774デフォルトの名無しさん
NGNG依存し捲くった挙句に完全じゃない。
0775762
NGNG0776デフォルトの名無しさん
NGNGint hoge(int *);
int main(void){
int i;
int *pi;
pi = &i;
i = 5;
printf("%d %d\n", i, hoge(pi));
return 0;
}
int hoge(int *pi){
return *pi * 2;
}
結果として 10 10 が欲しいのですが、5 10 と表示されます。
ご教示ください。
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG何をしたいのかが解らん…
hoge() の中で i を書き換えたいなら
return *pi *= 2;
だが、そうしたからって
>printf("%d %d\n", i, hoge(pi));
ここの評価順によっては 5 10 だ。
0779デフォルトの名無しさん
NGNGint hoge(int *);
int main(void){
int i = 5
int *pi = &i
printf("%d %d\n", hoge(pi), i);
return 0;
}
int hoge(int *pi){
*pi *= 2;
return *pi;
}
>>777
どうもです。
ちょっと変更してみました。
int *papa;
int mama;
papa = &mama;
*papa = 5;
でmamaの内容も変わるようにiの内容も変わると思ったのですが…
0781デフォルトの名無しさん
NGNG関数の引数の評価順は決まっていないので、それに依存するプログラムを
書くと結果は不定のふるまいとなる。
0782デフォルトの名無しさん
NGNG↓のを試してみ
int main(void){
int i;
int *pi;
pi = &i;
i = 5;
hoge(pi);
printf("%d\n", i);
return 0;
}
void hoge(int *pi){
*pi *=2;
}
0783デフォルトの名無しさん
NGNGおお、ありがとうございます。10になりました。どうしてだーー!!!!??
0784デフォルトの名無しさん
NGNGお世話になっております
VC++でMFCのプロジェクトを作っているんですが、
CSVファイルを読み込んで、1カラムずつ
取得してファイルの最後まで読み込むというロジックをつくりたいんです
�@ Readfile で、 file のEOF 検出ってできますでしょうか?
�A 1カラムずつの取得ってどうやるんでしょうか?
readfile だと、バイト取得しかできないのでしょうか?
2点お願いします
0785デフォルトの名無しさん
NGNG>781 の言う通り。
そのコンパイラでは、引数の評価順は
「左から」でも「右から」でもなかった、という事。
>784
激しくスレ違い。
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/l50
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGもうちょっと調べるなり考えるなりしような
*pi *=2 これはpiの中身の"値を2倍している"
return *pi *=2 これはpiの中身の" 値を2倍にした「数値を返している」 "
0788デフォルトの名無しさん
NGNGこれで期待値を得ることができました。
調べたところ引数の評価順は右からのようです。
もうちょっと調べるなり考えるなりしような
#include<stdio.h>
int hoge(int *);
int main(void){
int i = 5
int *pi = &i
printf("%d %d\n", i, hoge(pi));
return 0;
}
int hoge(int *pi){
return *pi *= 2;
}
0789デフォルトの名無しさん
NGNGなんかおかしいぞ。日本語がおかしいだけだと思いたいけど……
*pi *=2 piの中身の"値を2倍している
return *pi *=2 上に加えて、その値を返している
>>788
知らんけどその評価順は、printfの仕様なの?仕様でない場合、そういうのを実装依存といって
ほかの環境でエラーを起こす危険が高いから、書いてはいけないものとされてる。
まあ学校の宿題とかだったらわざわざ細かいこと気にしないでいいよ
0790デフォルトの名無しさん
NGNG例えば、temp.exeをtemp.exe.bakのように変えるような場合です。
ファイル名は引数から取得させているので、rename関数ではできませんでした。
rename(argv[1],argv[1]".bak")でできると思ったのですが…
0791デフォルトの名無しさん
NGNG>仕様でない場合、そういうのを実装依存といって
ほかの環境でエラーを起こす危険が高いから、書いてはいけないものとされてる。
家の環境での評価順です。ひとつ勉強になりました。
ちなみに、これは会社の宿題なんですorz
0792デフォルトの名無しさん
NGNGそういう連結の仕方はできない。
C++ではrename(argv[1], (std::string(argv[1]) + ".bak").c_str());とすればいいのだがここはCスレ、
Cならこうすればいい。
char *buf = malloc(strlen(argv[1]) + 1 + 4); //1は'\0'、4は".bak"の文字数
if (buf)
{
strcat(strcpy(buf, argv[1]), ".bak");
rename(argv[1], buf);
free(buf);
}
0794デフォルトの名無しさん
NGNG会社の宿題なら、なおさらの事、実行結果が実装依存になるようなプログラムは
書かない方がいい。減点の対象になるはず。
i = i++; のようなのは、実装依存では済まず、「未定義」とされている。unspecifiedより
なお一層厳しいundefinedだ。
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG俺の入った会社にはCの仕様をまともに理解してるやつが一人もいないんですが・・・。
0798デフォルトの名無しさん
NGNG・さっさと見切りつける
・それこそが自分の存在価値と心得る
究極の選択
0799デフォルトの名無しさん
NGNGおまいも?
0800デフォルトの名無しさん
NGNG言うまでもなく。
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG違う。
クレタ族が言った。「クレタ族はうそつきだ。」
0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG0809765
NGNG遅くなりました。レス有難うございます。
依存するらしい,という話はFAQで見たようです。すっかり忘れていました。
whichを自分で書くぐらいの労力を払うしかないようですね。。。
0810デフォルトの名無しさん
NGNGそれとも、ちがう言語?
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG> なお一層厳しいundefinedだ。
ほほう。そういうしったかぶりくんは「unspecified」はどう訳すの? ;-)
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGfopen、fgets を使えば簡単ですが、一番後ろの
行からさかのぼって1行ずつ読み込むにはどのように
すればよいでしょうか。
ちなみにテキストの行数は50000行程度、サイズにして8MB程度
のもので、使えるメモリはそう多くはない(2〜3MB程度)という
条件があります。
0815デフォルトの名無しさん
NGNGMFCとは別のMSのクラスライブラリを使っているらしいからC++だろう。
0816デフォルトの名無しさん
NGNGfor(i=0;fgets(ss, 256, fin) != NULL;i++){
}
fclose(fin);
for(k=i;k>=0;k--){
fin = fopen("text.txt", "r");
for(j=i;j>=0;j--){
fgets(ss, 256, fin);
}
puts(ss);
}
0817デフォルトの名無しさん
NGNG付け足しといて
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG「最後から読む」「最後の行から読む」のは難しい。
まあ、メモリも多くないみたいだし、
fgetsで行頭を記録しながら空読みして
seekしながらfgetsで一行読み込んで表示するってのが無難かな。
0820デフォルトの名無しさん
NGNGランダムアクセスっぽいことが必要になるなら
適さないファイル編成を何とかすることから始める
テキスト→バイナリ変換したりインデックスファイル作ったり
0821814
NGNG816のを利用したら目的とするものが一応できましたので、
今回はそれで満足します。
スレ汚し失礼しました。
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNGメモリー足りないので無理です。
0828デフォルトの名無しさん
NGNGftell()しながらgetchar()して
いっこ(ふたつ?)ずつさかのぼっていって
\nがきたら
そのポジションのつぎから
fgets()
?だめかな?
0829デフォルトの名無しさん
NGNG#include <stdlib.h>
main(int argc, char *argv[])
{
char buf[BUFSIZ];
FILE *fp;
long ofs, curpos;
if (argc != 2) {
printf("usage %s [file to open]\n", argv[0]);
exit(0);
}
if ((fp = fopen(argv[1], "r")) == NULL) {
perror("fopen()");
exit(0);
}
fseek(fp, -2, SEEK_END);
for (ofs = ftell(fp); ofs > 0; fseek(fp, ofs, SEEK_SET)) {
int c;
if ((c = fgetc(fp) == '\n')) {
curpos = ftell(fp);
fgets(buf, BUFSIZ, fp);
fputs(buf, stdout);
ofs = curpos -1;
}
ofs -= 2;
}
fgets(buf, BUFSIZ, fp);
fputs(buf, stdout);
fclose(fp);
}
0830デフォルトの名無しさん
NGNGint main(int argc, char **argv)
{
FILE *fp;
char buf[256];
char cmd[256];
sprintf(cmd, "rev %s", argv[1]);
if ((fp = popen(cmd, "r")) == NULL) {
fprintf(stderr, "error\n");
exit(1);
}
while (fgets(buf, 256, fp) != NULL)
fputs(buf, stderr);
pclose(fp);
}
0831デフォルトの名無しさん
NGNG> fgets()
> ?だめかな?
おい、ぼけ。fgetsしたらまたその末尾の改行までいってしまうだろ
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGアレってテキストファイル用なんですか?
つうか、今のとこんな感じです
char[] moji="=80=CC=82=3D";
~s/=(..)/sprintf("%08b",$1)/eg
0834デフォルトの名無しさん
NGNGしちゃだめ
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNGなんでそうなるの?
>816
死んだ方がいいですよ。
>819
死んだ方がいいですよ。
>820
死んだ方がいいですよ。
>821
814は私です。偽者はやめてください。
0837デフォルトの名無しさん
NGNG>814は私です。偽者はやめてください。
そういうことか。てことは、821=816なわけね。
0838デフォルトの名無しさん
NGNG違います。私が本当に本物です。
0839デフォルトの名無しさん
NGNGそれでいいや。さんきゅー
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNGアホ
0842デフォルトの名無しさん
NGNGどこで見れるの?
0843デフォルトの名無しさん
NGNGアホ
0844デフォルトの名無しさん
NGNGえー、だってC言語なら俺に聞けって言うからさー
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNGpopenとnotepad.exeの関係は?
0849デフォルトの名無しさん
NGNGファイルとメモリマッピングという用語を使って小論文を書け。
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG引数がちがう
0852デフォルトの名無しさん
NGNG他には?
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGバイナリモードだったら同じだけどな。
0856デフォルトの名無しさん
NGNGウソつきはっけーん!!
0857デフォルトの名無しさん
NGNG他には?
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNGそんなクソ遅いコマンドのソースを参照しろというのは
一体どういった意図によるものなのでしょうか。
0861デフォルトの名無しさん
NGNG誰に言ってるの?答えられないのなら素直にそう書けばいいのに。
0862デフォルトの名無しさん
NGNGアホ。頭悪すぎてそれすら気付かない奴なんだから相手するなって。
0863デフォルトの名無しさん
NGNG答えてる馬鹿たちに向かってですが、気に障りました?
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNGバーカ。簡単にあきらめてんじゃねーよ。
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGえ?俺のせいじゃなかったってこと?ならよかった。
0870デフォルトの名無しさん
NGNGいいや、俺が全部悪いんだ。
みんな!スレが荒れたのは俺のせいだ!
責めるなら、この俺を責めてくれ!
0871デフォルトの名無しさん
NGNG死ねよ
0872デフォルトの名無しさん
NGNGwhile(!feof(fp)){
file_length++;
}
のようにfeof関数を使うと正しくバイト数が
分かりません。
どのように書けばいいですか?
0873デフォルトの名無しさん
NGNGそりゃ読まなきゃいつまで経っても EOF にゃならんわ。
0874デフォルトの名無しさん
NGNG省略しましたが、ファイルの内容は読んでます。
バイトが0x1Aの地点でfeofによりwhile文を抜ける
んですけど、どう書けば正しいですか?
宜しくお願いします。
0875デフォルトの名無しさん
NGNGftell
0876デフォルトの名無しさん
NGNGfseek()とftel()使え
0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNGオマエモナー
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG>バイトが0x1Aの地点でfeofによりwhile文を抜ける
根本的に町ガッ取る。
つか、この20年以上前の仕様が
なんで未だに引き継がれているのか…
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG> バイナリモードだったら同じだけどな。
こいつおおぼけ。 strcpyやmemcpyにバイナリーモードなどない ぼけ
0884デフォルトの名無しさん
NGNG何も言い直さなくとも…
今やファイルサイズはバイト単位で持ってる環境が殆どだけど
CP/M 時代は、ファイルサイズはセクタ単位でしか持ってなくて
テキストファイルの最後に 0x1A を付加する習慣があったのよ。
で、当時を知らないハズの連中が今でも「0x1A が付いてくる」と
思ってるってーのは、何処かで嘘をばら撒いてる莫迦がいるんじゃ
ないかと思ってな。
0885デフォルトの名無しさん
NGNGつい1スレ前に似たような事なかったか?<EOFについて
0886デフォルトの名無しさん
NGNGマルチの何が悪いのかも分かっていないくせによく言うよなー、お前も
0887デフォルトの名無しさん
NGNG上の画像に長方形の黒く塗りつぶしたような文字ありますよね?
これを1文字読み込んだときに判別するにはどの関数使えばいいのか教えてください。
あとこれをコピペしても「」←こんな感じでしか表示できませんよね?
どうやって出力すればいいか教えてください。お願いします
0888デフォルトの名無しさん
NGNG実行すると必ず表示されるコマンドプロンプト画面を非表示にする事って出来るのでしょうか?
要するに実行しても何も表示されない様にしたいんです。
0889デフォルトの名無しさん
NGNGそれはフォントがそのコードの字体を持っていない文字で、
四角になるか・になるかはフォントが決められる。
(フォント自体が通常の文字と同じように字体を用意しているので
バツや星印でもいいはず、見たことないけど)
つまり正確にやりたいんだったら今使っているフォントが
そのコードの文字をもっているか調べることになるんだが、
普通はisprint() || is漢字の1バイト目かを調べれば大体いいんじゃないか?
0890デフォルトの名無しさん
NGNGありがとうございます。フォント変えたら表示できました
0891デフォルトの名無しさん
NGNGme だけど prompt $で消えたよ。カーソルは残ってるけど。
てかCで?
0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNGへぇ(嘲笑)
0894デフォルトの名無しさん
NGNGプロンプトを消したいとは誰も書いてないよ。
>>888
スレ違い。Win32APIスレかVCスレへ。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897超級初心者
NGNGやさしいCで最低レベルの基礎を一応覚えたので次に進みたいのですが、
応用編と書いてある書籍はいきなり難しくなっていてなんともしがたい状況です。
通常はどういった勉強をしていくのでしょうか?
0898デフォルトの名無しさん
NGNGあなた本当にやさしいC全部読んだの?載っている問題は全部解いた?
0899超級初心者
NGNG0900デフォルトの名無しさん
NGNG具体的にどこが分からないの?
0901超級初心者
NGNGしだいに何を目的としている用法なのか、というか何をしているのか
わからなくなってしまうのです。
現在はポインタ完全制覇でポインタに絞って勉強していはいますが、
これでいいのかどうか・・。
リファレンス本も持っているのですが、引いても書いてある使い方が理解で
きないのです。例えば、
void *memcpy(void *to, const void *from, size_t n);
char strncat(char *str1, const char *str2, size_t n);
とか書いてあっても、
*to?const?size_t?それって何を書くの??
という感じです。
0902デフォルトの名無しさん
NGNGto は仮引数名だろうが、そんくらい「やさしいC」には書いてなかったのか
それから、const や size_t についての説明がない本なら見限ることも考えろ
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNG注視するところは
1. ()内の変数の型 void *, const void *, size_t
2. memcpy の手前にある void *
つまりmemcpyに void *, const *void, size_t を順に3つとも放り込めば(1.)
void * 型の変数が得られる(2.)
strncatも同様
1. ()内の char *, const char *, size_t
2. char * ←これ抜けてる
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG例えば str〜 は文字配列を扱う、って事だけだが?
0907超級初心者
NGNG*toではなくvoid *と書くべきでした、すみません。
目的とするプログラムがないので、どこから手をつければいいのか・・
という感じなんです。しかも用例には知らない関数がバカバカでてきますし。
それを調べて覚えても、結局どういった場合に使うのかわかっていないので
それを使ったプログラムを書く練習ができないような状態です。
0908デフォルトの名無しさん
NGNG理解したと豪語するのは止めてほしいな
さらにいうと、そんなので開発に参加し(ry
0909デフォルトの名無しさん
NGNGISOが定めたC言語の標準規格
0910デフォルトの名無しさん
NGNGISO/IEC 9899:1999
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG向いてないよ
0913超級初心者
NGNG>つまりmemcpyに void *, const *void, size_t を順に3つとも放り込めば(1.)
>void * 型の変数が得られる(2.)
この文を理解できない時点でまずいですよね・・orz
でもご丁寧にありがとうございます。
0914デフォルトの名無しさん
NGNGchar a, b;
memcpy(&a, &b, 1);
int a, b;
memcpy(&a, &b, sizeof(int));
0915デフォルトの名無しさん
NGNG>さらにいうと、そんなので開発に参加し
どう見てもまだ学生か何かだろうに、そんな発言をするお前の方が異常。
0916超級初心者
NGNGなるほど!すごくわかりやすいです。ありがとうございます。
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGintの場合はsizeofしているのにcharではしないのはどうしてですか?
0920デフォルトの名無しさん
NGNG打つのがダルかったから
0921デフォルトの名無しさん
NGNG何だったとしても、はなから質問に答える気のないお前には
全く関係ない。失せろ。
0922デフォルトの名無しさん
NGNG>>897のこと限定で言っているわけではないのが理解できないのか…
0923デフォルトの名無しさん
NGNGそんな奴が人に教えようとするなよ。
つか、そういう理由じゃねーだろうが。
それもわからんで人に教えようとするな。
0924デフォルトの名無しさん
NGNGは?
0925デフォルトの名無しさん
NGNGいるよなー、こういう奴。自分の言葉が全く足りてないくせに
理解してもらえないとかいっちょまえにほざいちゃってな。
協力会社でそういう人間は片っ端からはずしてるよ。
社員でもたくさんいるけどこっちは簡単にはずせねーんだよなー
0926デフォルトの名無しさん
NGNGsizeof(char)は1だから
0927デフォルトの名無しさん
NGNGあなたは誰ですか?
0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNGってルールな、今から。
0930デフォルトの名無しさん
NGNG妄想乙
0931デフォルトの名無しさん
NGNGキヅイテルヨ コノヤロー( ´∀`)σ)Д´)
0932超級初心者
NGNGではその部分は例えば
sizeof()でも、実際のその数値でも良いということでしょうか?
0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNGいるよなー、こういう奴。
煽りが失敗しても引っ込みがつかなくて
どうしても相手を陥れようとがんばる椰子w
0935超級初心者
NGNG0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNGおまえが知障だからか?
0938デフォルトの名無しさん
NGNG惜しい!俺の自演だからだよ。
0939デフォルトの名無しさん
NGNGまずsizeof()をリファレンスで引け
それが返す変数の型はどんなものなのかも
0940デフォルトの名無しさん
NGNG725個もあるよ。
0941939
NGNGまずsizeof()をリファレンスで引いて頂けますか?
それが返す変数の型はどんなものなのかも調べるといいと思います。
あ、分かりにくい日本語ですいません。
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG漏れの書き込み、268個あるけど...
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNGそれはあなたが数えることすらできないからですよ。
0946デフォルトの名無しさん
NGNGキモ
0947超級初心者
NGNGはい、えっと自分のリファレンスには
sizeof(式) 式の結果のオブジェクトが占有するバイト数
sizeof(型) 型名で示される型が占有するバイト数
とありました。
0948デフォルトの名無しさん
NGNGスレタイかえて続けろよ
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNGsizeof(char)は無条件で1だと書いてないのか?
0951デフォルトの名無しさん
NGNG>>1にコンパイラは1つも書いてないです :-)
0952超級初心者
NGNGそーですね・・・書いてないようです。
というか>>947も何度か引いて見つけたもので、
sizeof演算子というところには、
オブジェクトの寸法を取得する
としか書いてありません。
「C言語によるプログラミング-スーパーリファレンス-」
という本なのですが、いまいちなのでしょうか??
0953949
NGNGフリーなんですかね?
0954デフォルトの名無しさん
NGNG間違いではないんだけど…
型のサイズは環境によって違うことがあるから、
>>950の例外を除いては、即値を書かない方がいい
0955デフォルトの名無しさん
NGNGリンク先のページを読めよ
0956超級初心者
NGNGchar以外の型の場合は値で書かない方が良い、ということですね。
intやdoubleの領域の確保が環境に依存するとは知りませんでした。
ありがとうございます。
0957デフォルトの名無しさん
NGNGある処理系でたまたまそうなのか、規格で決まっていることなのかを確認するなら、見る本を間違っている
0958デフォルトの名無しさん
NGNGint main(void){
FILE *fpR,*fpG,*fpB,*fpOUT;
unsigned char tmpR,tmpG,tmpB;
fpR = fopen("R.raw","rb");
fpG = fopen("G.raw","rb");
fpB = fopen("B.raw","rb");
if(fpR == NULL || fpG == NULL || fpB == NULL){
printf("ERROR: inputfile not found \n");
exit(1);
}
fpOUT = fopen("OUT.raw","wb");
if(fpOUT == NULL){
printf("ERROR: outputfile could not make\n");
exit(1);
}
while(tmpR = fgetc(fpR) != EOF){
tmpG = fgetc(fpG);
tmpB = fgetc(fpB);
fputc(tmpR,fpOUT);
fputc(tmpG,fpOUT);
fputc(tmpB,fpOUT);
/*testprint*/printf("%d %d %d\n",tmpR,tmpG,tmpB);
}
fclose(fpR);
fclose(fpG);
fclose(fpB);
fclose(fpOUT);
return 1;
}
0959958
NGNGが、出来上がる画像は
「Rの値ががすべて1」の画像になってしまいます。
元の画像に問題があるのかと思い、R,G,B三枚とも同じ画像でテストしてみましたが、
やはりRの値がすべて1の画像になってしまいます。
printfのテストでも、R=1で出力されてしまいます。
どこがおかしいのでしょうか教えていただけないでしょうか。
よろしくお願いします。
0960超級初心者
NGNG型のサイズは環境による
と記載されていました、すみません。
char型は1になることはK&Rに載っていました。
0961デフォルトの名無しさん
NGNGあやすい
0962デフォルトの名無しさん
NGNG0963958
NGNGありがとうございます!!
そこでした。
while(1){
tmpR=fgetc(fpR);
if(tmpR==EOR)break;
.
.
.
}
に直したらちゃんと動きました。
0964958
NGNGと思ったら、これではループを抜けなくなってしまいました。
ループを抜けるにはどうしたらよいのでしょうか。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967958
NGNGEOFの間違えでした。
0968デフォルトの名無しさん
NGNG括弧できちんとくくれ
変な感じがしてもこっちの方が間違いが少ない。
0969デフォルトの名無しさん
NGNGEOFを返してきた時にEOFはint型の値と決まっている。
0970958
NGNG>>969
ありがとうございます。教えていただいたとおりに
int tmpR,tmpG,tmpB;
while((tmpR = fgetc(fpR))!=EOF){
..
..
fputc((unsigend char)tmpR,fpR);
..
..
}
としたら、Rにちゃんと値も入り、ループも抜けられるようになりました。
いろいろと教えていただきありがとうございました。
0971デフォルトの名無しさん
NGNGぼけ なおしかたがちがうだろ
> while(tmpR = fgetc(fpR) != EOF){
これを
> while ((tmpR = fgetc(fpR)) != EOF) {
こうなおすんだよ。空白もきちんとあけろ! ぼけ
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG#include <stdlub.h>
void cant(char *);
int main(void)
{
FILE *rfp, *gfp, *bfp;
FILE *outfp;
int r, g, b;
if ((rfp = fopen("R.raw", "rb")) == NULL)
cant("R.raw");
if ((gfp = fopen("G.raw", "rb")) == NULL)
cant("G.raw");
if ((bfp = fopen("B.raw", "rb")) == NULL)
cant("B.raw");
if ((outfp = fopen("OUT.raw", "wb")) == NULL)
cant("OUT.raw");
0976デフォルトの名無しさん
NGNGwhile ((r = fgetc(rfp)) != EOF) {
g = fgetc(gfp);
b = fgetc(bfp);
fputc(r, outfp);
fputc(g, outfp);
fputc(b, outfp);
}
fclose(rfp);
fclose(gfp);
fclose(bfp);
fclose(outf);
return EXIT_SUCCESS;
}
0977デフォルトの名無しさん
NGNGvoid cant(char *name)
{
fprintf(stderr, "ERROR: can't open %s.\n", name);
exit(EXIT_FAILURE);
}
0978デフォルトの名無しさん
NGNGカンマの後ろは空白あけろ! ぼけ
) { の間もだ! ぼけ
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGけど、どうせそういう前提なら
g = fgetc(gfp);
b = fgetc(bfp);
fputc(r, outfp);
fputc(g, outfp);
fputc(b, outfp);
この部分は
fputc(r, outfp);
fputc(fgetc(gfp), outfp);
fputc(fgetc(bfp), outfp);
こう書けよな。で余分な変数の宣言2つも消す
0981デフォルトの名無しさん
NGNGif文とかの場合はif () {みたいに空白を入れるのはなぜですか?
あと
if () {
;
}
と
if ()
{
;
}
はどちらが適してますか?
0982デフォルトの名無しさん
NGNGたった数バイトケチってまで可読性落とすのよくない
0983デフォルトの名無しさん
NGNGそんなのどっちでもいい
0984デフォルトの名無しさん
NGNG>981
プロジェクトや客先のコーディング規約があればそれに従う。
あとは好み。
0985デフォルトの名無しさん
NGNG空白は必要ない && {前の改行は必要ない
ってことですか?
0986デフォルトの名無しさん
NGNG間違ったことを教えるなよ。
どうせそういう前提なら、じゃなくて、エラーチェックをするように
勧めるべきだろうが。
一言。アホ。
0987デフォルトの名無しさん
NGNG自分の頭がそこまで悪い理由を考えたりしてる?
0988デフォルトの名無しさん
NGNGははぁ、そういうことなんですね。
0989デフォルトの名無しさん
NGNG> どうせそういう前提なら、じゃなくて、エラーチェックをするように
いいや、正しい。
0990デフォルトの名無しさん
NGNG> if文とかの場合はif () {みたいに空白
このぼけ if分は「通常じゃない関数」だとでも思ってるのだろうか?
0991デフォルトの名無しさん
NGNG前者はカーネルスタイル(k&rスタイル)
後者はオールマンスタイル(bsdスタイル)
まあ、どっちにもまだ慣れていないで
これからなんだったら前者をすすめておく。
まちがってもgnuスタイルやWhiteSmithスタイルにそまらないように!
0992デフォルトの名無しさん
NGNGint main(void){}
こう書いても
int main(void){
}
こう書いても結果はおなじ
0993デフォルトの名無しさん
NGNGほんきでこう思い込んでいるんだとしたら、かなりのあほ
0994デフォルトの名無しさん
NGNG-gついてるとちがう
0995デフォルトの名無しさん
NGNGえーと、すいません。
空白を入れない関数が多いのでそれらを空白を入れる関数と比較して
「通常の」というふうに言っただけです。
と、いうことでなぜif, for, whileなどの後には空白を入れるんですかね?
0996デフォルトの名無しさん
NGNGこいつぼけ、入れる関数もあるのかよ!
> 空白を入れる関数と比較して
そんなものはねーよ!
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。