C言語なら俺に聞け! Part 98
レス数が1000を超えています。これ以上書き込みはできません。
0001v(^o^i)d
NGNG質問する前には最低限検索を。
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-3あたり
C言語なら俺に聞け! Part 97
http://pc5.2ch.net/test/read.cgi/tech/1102749965/
他の過去ログはここに
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デフォルトの名無しさん
NGNGC言語なら俺俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGこのスレは
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
のスレを先に使い切ってから使って下さい
0007デフォルトの名無しさん
NGNG誰お前?えらそーに。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG大差ない肝するけどな。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGあー、ちょっと複雑なロジックの質問が出ると
途端に沈黙する奴が少なくともひとり居るな。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGで、ほとぼりが冷めた頃に戻ってきて煽るのな
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGまたそういう当てもない憎まれ口をたたく。
0021デフォルトの名無しさん
NGNGどういう意味なのでしょうか?
具体的には
sscanf(buf, "%d, %[^,], %d", arg1, arg2, arg3);
のような感じになっています。arg1、arg2、arg3の型はそれぞれint, char [], int
です。
またbufの中は0,AAAA BBBB,1のようなものが入っています。
0022デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG002826
NGNGなるほど・・。
これで思い残すことなくfprintf連発できます。
printよりfprintの方が形が好きなんです。怒られそうですが・・
002926
NGNG0030デフォルトの名無しさん
NGNG円の半径(r)と中心点(cx,cy)がわかっていて、
この円上に座標点(x,y)を取り、基準点を(cx,cy+r)としたとき、
この座標点の角度を求めるプログラムを作るには、
どのような式を使えばよいでしょうか?
ちなみにasinとacosを使用したいです。
0031デフォルトの名無しさん
NGNGデイイジャン('A`)
0032デフォルトの名無しさん
NGNGx座標の向き、y座標の向きはどっち向き?
角度ってどの線とどの線の角度?
003330
NGNGatan2の2って何ですか?
あと、xとyの間の”,”とは?
003430
NGNG線は(cx,cy)から(cx,cy+r)の直線と(cx,cy)から(x,y)の直線の角度です。
0035デフォルトの名無しさん
NGNGと書こうとしてatan2をググったら、、、「googleの電卓機能について」だって。
初めて知ったよ。
003630
NGNG0037デフォルトの名無しさん
NGNG求める角度をθとする。
(x,y),(cx,cy+r)を結ぶ線分の長さをaと置き、
(x,y),(cx,cy)を結ぶ線分の長さをbと置く。
余弦定理より、
r^2=a^2+b^2-4*a*c*cosθ
<=>
θ=acos((a^2+b^2-r^2)/(4*a*b))
0038デフォルトの名無しさん
NGNGθ=acos((b^2+r^2-a^2)/(4*b*r))
003930
NGNG(cx,cy)から(cx,cy+r)じゃなく(x,y),(cx,cy+r)で結ぶんですか?
あと、acosだと270°と90°の区別はどうやってつけたら良いですか?
質問ばっかですいません。
0040デフォルトの名無しさん
NGNG普通に考えて
90°= π/2
270° = -π/2
が得られるから区別つくんじゃない?
004130
NGNG0042デフォルトの名無しさん
NGNGasin,acos,atanの値域も考えてくれ。
もうatan2でいいじゃん。
0043デフォルトの名無しさん
NGNG二つ取る意義は引数一個じゃ90度のとき問題がおきるから
004430
NGNGみなさんアドバイスありがとうございました。
0045デフォルトの名無しさん
NGNG27の理由ではfprintfを常用する理由としては弱すぎるぞ。printfに慣れろ。
0046デフォルトの名無しさん
NGNGこういうぼけは、近年まで、プッシュホン回線に電卓機能がついていたことを知らない。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGきっとGoogleから株価検索が出来たり
乗り換え案内が出せたり
辞書になったりすることも知らないんだろうな
0049デフォルトの名無しさん
NGNGまじで?
たかが回線に電卓機能が付いてるの?
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG自分で見てかなり汚いと思います。もっと綺麗に書くにはどうしたらよいでしょうか。
int main (void)
{
int c;
while ((c = getchar()) != EOF) {
if (c == ' ') {
putchar(c);
while ((c = getchar()) != EOF) {
if (c != ' ') {
putchar(c);
break;
}
}
}
else putchar(c);
}
return 0;
}
よろしくおながいします。
0052デフォルトの名無しさん
NGNGきにするな
0053デフォルトの名無しさん
NGNG仕様として毎回getcharしないと駄目?
バッファに入れておくと簡潔にまとまりそうだけど
>>52
動きゃ良い派ですか?
0054デフォルトの名無しさん
NGNG馬鹿ですね
0055デフォルトの名無しさん
NGNG2つ目の条件は c!=' ' にした方が文脈的にもいいと思う
どうせifでbreakさせるわけだし
あとはオートマトン的に状態フラグを使うくらいしか思いつかないや
0056デフォルトの名無しさん
NGNGchar buf[1024];
const char *p;
int space = 0;
while (fgets(buf, sizeof(buf), stdin)) {
p = buf;
do {
if (*p == ' ') {
if (flag) continue;
else space = 1;
}
else space = 0;
putchar(*p);
} while(*++p);
}
0057デフォルトの名無しさん
NGNGリネームミスorz
0058デフォルトの名無しさん
NGNGあんまかわんねー
0059デフォルトの名無しさん
NGNG理解が少ないせいだと思いますがいくら考えてもどういった場面で
有効に活用できるのかが想像できません。
どなたか教えて頂けたら幸いです。
0060デフォルトの名無しさん
NGNGerror C2059: 構文エラー : 'サフィックスが無効です。'
error C2143: 構文エラー : ')' が 'constant' の前に必要です。
error C2198: 'hoge_func' : 実引数が少なすぎます。
のエラーが出るのですが、原因と対処方法を教えていただけないでしょうか。
「実引数が少なすぎます」ですが、呼び出し側、呼び出される側、共に引数の数は合っています。
0061デフォルトの名無しさん
NGNG出来る範囲で提示しますのでよろしくお願いします。
0062デフォルトの名無しさん
NGNG・hoge_funcを呼出している部分とその前2行位のソース。
0063デフォルトの名無しさん
NGNGWindowsのメッセージクラッカーがうまく使っている。
#define HANDLE_MSG(hwnd, message, fn) case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))
HANDLE(hwnd, WM_CREATE, OnCreate);とするとHANDLE_WM_CREATEマクロの呼び出しになり、
HANDLE(hwnd, WM_DESTROY, OnDestroy);と書けばHANDLE_WM_DESTROYマクロの呼び出しになる。
そしてHANDLE_WM_〜が実際にOn〜関数を呼び出すマクロになっている。
0064デフォルトの名無しさん
NGNGint main(void)
{
int c, lastc = '\0';
while ((c = getchar()) != EOF) {
if (c != ' ' || lastc != ' ')
putchar(c);
lastc = c;
}
return 0;
}
0065デフォルトの名無しさん
NGNG60のことでしょうか。でしたらありがとうございます。
"hoge_fun.c"を呼んでいる側で利用しているマクロに問題がありました。
解決のキッカケ、ありがとうございました。
0066デフォルトの名無しさん
NGNG感動した
0067デフォルトの名無しさん
NGNG>連続したスペースを1つにする
if (lastc != ' ') putchar(c);
lastc = c;
でね?
0068デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGふつうこう書く。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int c, nextc;
while ((c = getchar()) != EOF) {
if (c != ' ')
putchar(c);
else {
if ((nextc = getchar()) != ' ')
putchar(c);
ungetc(nextc, stdin);
}
}
return EXIT_SUCCESS;
}
0071デフォルトの名無しさん
NGNGまくろ
0072デフォルトの名無しさん
NGNG彼の本にまさにそんな例が載ってるもんな
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGこうやって知ったかぶりしてるやつは実は書けない
0075デフォルトの名無しさん
NGNGいや、Kusakabe氏本人だったら、
こう答えるはず。
(1) バグが少ないほどいいプログラム
(2) 短くてシンプル(複雑じゃない)プログラムのほうがバグが少ない
(3) プログラムを書かずにすめば、0行なのでバグはでないのでもっとよい
といって、
tr -s ' '
使えというはず ;-)
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG{
int c;
while ((c = getchar()) != EOF) {
if (c != ' ')
putchar(c);
else {
if ((c = getchar()) != ' ')
putchar(' ');
ungetc(c, stdin);
}
}
return EXIT_SUCCESS;
}
0079デフォルトの名無しさん
NGNG日下部に習ったことあるってか?
本当か?
どこの大学の学生か言ってみろ! どうせウソだろ?
0080デフォルトの名無しさん
NGNGいや、そこは無理に可読性おとしてまで変数減らす意味は少ない。
0081デフォルトの名無しさん
NGNG{
int c;
while ((c = getchar()) != EOF)
(c != ' ') ? putchar(c) : ((((c = getchar()) != ' ') ? putchar(' ') : c), ungetc(c, stdin));
return EXIT_SUCCESS;
}
0082お前らつまらない意地を張るのはよせ
NGNGwhile((c = getchar()) != EOF)
{
if(c == ' '){
putchar(c);
while((c = getchar()) != EOF)
if(c != ' ')
goto biw;
break;
}
biw:
putchar(c);
}
0083デフォルトの名無しさん
NGNGDIR *dir;
struct dirent *dp;
dir=opendir(".");
i=0;
while( (dp = readdir(dir)) != NULL )
{
filenames[i]=dp->d_name;
printf("%s\n",filenames[i]);
i=i+1;
}
closedir(dir);
printf("%s\n",filenames[0]);
printf("%s\n",filenames[1]);
printf("%S\n",filenames[2]);
ディレクトリ内にあるファイル名を文字列ポインタ*filenamesに格納
していくプログラムを作りたいんですが、なぜかどこの配列にも
最後に読み取った同じファイル名が入っちゃうようなんですが、
なぜ?????
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG変数iを宣言していないから。
0087デフォルトの名無しさん
NGNGSが大文字だから
0088デフォルトの名無しさん
NGNGおい、日下部の弟子! へんなところつっこんでる暇があったら
模範解答を書いてみろよ
0089デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <sys/dir.h>
#define MAX 50
int main(void)
{
char *name[MAX];
DIR *dir;
struct dirent *dp;
int n;
int i;
if ((dir = opendir(".")) == NULL)
return EXIT_FAILURE;
for (n = 0; (dp = readdir(dir)) != NULL; n++) {
if (n >= MAX)
break;
name[n] = dp->d_name;
}
closedir(dir);
for (i = 0; i < n; i++)
printf("%d: %s\n", i, name[i]);
return EXIT_SUCCESS;
}
0090デフォルトの名無しさん
NGNGエントリーごとの値が保存されていないへんな環境だってことだろうから,
char *name[MAX]; → char name[MAX][FILENAME_LEN + 1];
にして、
name[n] = dp->d_name; → strcpy(name[n], dp->d_name);
にすればいいのでは?
0091デフォルトの名無しさん
NGNGchar *strdup(const char *s)
{
char *p = malloc(strlen(s) + 1);
if (p)
strcpy(p, s);
return p;
}
0092デフォルトの名無しさん
NGNGつくるんだったらそんなダサイのにするなよ ぼけ
(Linuxのgccにはあるが > strdup、そのむかしのLatticeCにあったのでmscにもそのまま入った。K&Rに載ってるが標準にはない有名な関数)
0093デフォルトの名無しさん
NGNG>>13
>>17
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG{
char *r;
return (r = malloc(strlen(p) + 1)) ? strcpy(r, p) : r;
}
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGstrcpy(malloc(strlen(p)+1),p)
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNGケータイ打ちはつらいんだ
0100デフォルトの名無しさん
NGNG{
return strcpy(malloc(strlen(p) + 1), p);
}
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG>>64 末尾に1個空白あったら出ないだろ! ぼけ
の意味が判らんのだが誰か説明してくれないか?
0105デフォルトの名無しさん
NGNG頭わるすぎー
0106デフォルトの名無しさん
NGNGクスリでもやってんだろ
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNGUnixの基本精神は、
(1) 作ればあるもんっ
(2) ひとりでできるもんっ
の2つだと
0109デフォルトの名無しさん
NGNG彼がfjに書いてるのには「っ」は無かったような…(あったかな?)
0110デフォルトの名無しさん
NGNGその通り。一億行のソースコードも一億分の一秒ごとに一行書けば一秒で作れる。
0111104
NGNGお詫びにこれ置いとくから使ってくれ。
「末尾に1個空白あったら出ないだろ! ぼけ」
「末尾に1個空白あったら出ないだろ! ぼけ」
「末尾に1個空白あったら出ないだろ! ぼけ」
0112デフォルトの名無しさん
NGNG1人当たり1万行。余裕。
0113デフォルトの名無しさん
NGNGロジックの実装に専念できる。
だから(1)に関しては同意。
0114デフォルトの名無しさん
NGNGむしろ漏れは >>68 の方が気になってしようが無いんだが
0115デフォルトの名無しさん
NGNG>>67 が c != ' ' の判定を端折ってるのがダメって事でしょ。
0116114
NGNGなぜその判定が必要?
0118114
NGNG0119デフォルトの名無しさん
NGNGそれ書いたのはvoid一派のやつではないと思うが。
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGdiropen
popen/connect./select/listen
0122デフォルトの名無しさん
NGNGすべきではないと思うわけだが。
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNGそれは、例えば無線端末や電子レンジで意味のある関数だろうか…?
>>123
だねぇ。malloc/free があるなら strdup もあっていい希ガス。
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGstrdupandcpyとかそこらへんも整備しないと使い物にならん
0131デフォルトの名無しさん
NGNGはあ? 意味不明
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGCのlong int型変数だと2147483647までしか格納できないようなのですが、
それ以上の、たとえば1兆とかの整数を格納して扱いたいときはどうすればいいのですか?
0138デフォルトの名無しさん
NGNG仮想そろばんを作ればいいのだよ
0139デフォルトの名無しさん
NGNG桁ごとに変数を分けるということですか?
0140デフォルトの名無しさん
NGNGとりあえず多桁計算でぐぐってみてくれ
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG> それ以上の、たとえば1兆とかの整数を格納して扱いたいときはどうすればいいのですか?
long long intにすればいいだけじゃん
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGそれでちょっと調べてみます。
ひよっこの質問に親切に答えていただいてありがとうございました。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG> そんなことができるんですか?
long long int も知らずにC使ってるのかー
0148デフォルトの名無しさん
NGNG何しろ非標準だからな。んなもん知らんでも使える。
0149デフォルトの名無しさん
NGNGそういうお前も、long long long int は知らないんだろ?
0150デフォルトの名無しさん
NGNGぼけ、どこが非標準だよ。
もろに標準規格そのものだろ! ぼけ
long long intを知らないばかりか「標準じゃない」とまでおもってるのは
かなりまぬけ。
0151デフォルトの名無しさん
NGNG一体どれくらいあると言うのだろう・・・・
(´-`).。oO
0152デフォルトの名無しさん
NGNGそんなものはありません。
> まともにコンパイルできる処理系は
なんてまぬけなことをいえばいいわけできるとおもってるようだが、
世間のたいがいのコンパイラーではつかえる > long long int
使えないまぬけなコンパイラーのほうがむしろ稀
0153デフォルトの名無しさん
NGNGそれとも自分が「VC厨」だとバレるから言えない?
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGバカですか君は。
long long intは確かに通るコンパイラは多いけど、コンパウンドリテラルとか、restrictポインタとか
まともに使えるコンパイラがあるんですか?と聞いているのに。木を見て森を見ずとは、まさに
君のような人間の事を言うんですね。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGまさかこのスレには無限ループを普通に書く奴はいないだろうな
0161デフォルトの名無しさん
NGNG// ループ処理
}
0162デフォルトの名無しさん
NGNG"10種類マダ?”
}
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGBorland C++ Compiler
Visual C++
面倒くさいのであとはよろしく.
0166デフォルトの名無しさん
NGNGいえそれが使えないコンパイラーが何かと聞いているのですが?
0167デフォルトの名無しさん
NGNGなわけねー
0168デフォルトの名無しさん
NGNGどちらもgccならふつーに使える。
0169デフォルトの名無しさん
NGNG> Borland C++ Compiler
> Visual C++
やっぱりVC厨だったかー
0170デフォルトの名無しさん
NGNG使えないコンパイラを挙げるのに、そのコンパイラを使っている必要がありますか?:-)
0171デフォルトの名無しさん
NGNGケチつけるわけでしょ? ;-)
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNGあれでは、ちょっぴりだけ標準機能に対応したといううわさだぞ
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGかろうじて低レベルで最下級で下品なコーダが下品なコードを記述するのに使われるだろうけど。
0178デフォルトの名無しさん
NGNG読みやすい? ためになる?
0179デフォルトの名無しさん
NGNGvoid of all usefulness
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNG開発ツールにこだわっているやつがいるんだ。
そんなSEとかプログラマーはイラネー
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG>そんなSEとかプログラマーはイラネー
お前社長か?どうせ糞プログラマーに過ぎねー癖に偉そうな口叩いてんなよ(プ
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGこれ見て分からないやつはいないだろう
int main(void)
{
int c;
while ((c = getchar()) != EOF) {
putchar(c);
if (c == ' ') {
while ((c = getchar()) == ' ')
;
ungetc(c, stdin);
}
}
return 0;
}
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG#include <stdio.h>
void SkipSpace(void)
{
int c;
while ((c = getchar()) == ' ')
;
ungetc(c, stdin);
}
int main(void)
{
int c;
while ((c = getchar()) != EOF) {
putchar(c);
if (c == ' ')
SkipSpace();
}
return 0;
}
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG作るには情報不足です
0191デフォルトの名無しさん
NGNG8次でいいです。
そこまで言ったんだからさっさと作ってください。
0192デフォルトの名無しさん
NGNGいや、むしろ美しい。
フラグとか使うやつはぼけ
0193デフォルトの名無しさん
NGNG画像データのフォーマットが不明だと作れんということもわからんのかと。
しかもスレ違い。その頼み方じゃどこに行っても駄目だろうが(藁
0194デフォルトの名無しさん
NGNGあんた資格何もってる?
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGいいね、漏れもそういう生きていくのに無駄なのほしいなぁ。
0199デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGそれは日下部
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGVCでは一応用意されているが。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vcedit/html/vcoriccompilerlinkerclanguage.asp
> long long 型は、__int64 の typedef として使用できます。
> 詳細については、「Fundamental Types」を参照してください。
> CRT では、long long はまだサポートされていません。
0204デフォルトの名無しさん
NGNG{
int i1 = 1;
int i2 = 0;
int i3 = 0;
int i4 = 0;
int i5 = 1;
if (i1 || i2 || i3 || i4 || i5) printf("OK\n");
return 0;
}
こういう時って i1 が真だったら残りの i2 i3 i4 i5 は
評価されないのですか?
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGショートサーキットでググれ
0207204
NGNGショートサーキット、ググりました。少し勉強になりました。
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGWindowsXPではVisualStdio.Net C#って入れられないんですか?
0217デフォルトの名無しさん
NGNGタイトルを良く見ろ
お前なんて誰も望んでないんだ
必要ないんだよ
つまり、スレ違い
0218デフォルトの名無しさん
NGNGproじゃないとね
0219デフォルトの名無しさん
NGNG> WindowsXPでは
別物ですね。質問の途中で話をすり替えてはいけません。
0220デフォルトの名無しさん
NGNGそもそもその例では評価しようと評価しまいと結果は同じじゃん。
もっと意味のある例を出せ!
0221デフォルトの名無しさん
NGNGというかリファレンスは存在するんですか。
0222デフォルトの名無しさん
NGNG一応マジレス
http://www.bohyoh.com/CandCPP/C/Library/index.html
0223Rubyist!
NGNG0224デフォルトの名無しさん
NGNGmsdn
0225デフォルトの名無しさん
NGNGそんなものはない
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGこいつぼけ
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG残りの118個の関数ぐらいは、暗記してるようじゃないとだめ!
マニュアルなんか見ちゃだめ!
0231デフォルトの名無しさん
NGNGbsearch
calloc clearerr clock ctime
difftime div
exit
fclose feof ferror fflush fgetc fgetpos fgets fopen fprintf fputc fputs fread fr
ee freopen fscanf fseek fsetpos ftell fwrite
getc getchar getenv gets gmtime
isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper
isxdigit labs
ldiv localeconv localtime longjmp
malloc memchr memcmp memcpy memmove memset mktime
perror printf putc putchar puts
qsort
raise rand realloc remove rename rewind
scanf setbuf setjmp setlocale setvbuf signal sprintf srand sscanf
strcat strchr strcmp strcoll strcpy strcspn strerror strftime strlen strncat str
ncmp strncpy strpbrk strrchr strspn strstr strtod strtok strtol strtoul strxfrm
system
time tmpfile tmpnam tolower toupper
ungetc
va_arg va_end va_start vfprintf vprintf vsprintf
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG0234age
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGCの標準関数にGUIのものがあると思い込んでいるぼけ
こいつもVC厨!
0240デフォルトの名無しさん
NGNG59 printf
47 fprintf
43 exit
25 fopen
25 fclose
23 fgets
19 fputc
17 fputs
12 strlen
10 free
9 strcpy
8 strcmp
8 fgetc
6 malloc
6 tolower
4 striccmp
4 qsort
4 isdigit
3 strstr
3 putch
3 islower
2 getchar
2 atoi
1 putchar
1 cprintf
初心者向きでバランスいいですね。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGたしか一位はexitだったか……
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGってことは合計22個、getchar/fgetc、putchar/fputc を同じだということに
してしまえば、「たった20個」おぼえれば、そこそこコーディングできるって
ことだな。
0245デフォルトの名無しさん
NGNGfopen fclose fputc fgetc fgets fputs printf fprintf
strlen strcpy strcmp strstr
isdigit islower tolower atoi
malloc free
qsort exit
ってことか。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG根拠をのべずに「〜だ」「〜だろう」と書いてあるものは
すべて後ろに「だということにしたい」をつけて読むと正しい意味になる。
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGたしかにすばらしいが
使うやつにたいしたやつはいない。
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG屈折してんなあ
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG中2でプログラミングできる俺って凄いの?
http://pc5.2ch.net/test/read.cgi/tech/1104066264/1
0260デフォルトの名無しさん
NGNG使用している関数名を頻度順に並べなさい。
これは宣言文と実際の式のどちらも含みます。
なお、同じ頻度の関数は辞書順に並べなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに
入力した出力を示しなさい。
なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。
但し、関数名の長さは高々 255 文字と仮定して良い。」
という課題が出てるのですができないので教えてください。
よろしくい願いします。
0261デフォルトの名無しさん
NGNG異なるから書きようがない。どの言語か明確に示せ。その前にスレ違い。
以後は次の宿題専門のスレで。ただしきちんと断ってからスレを移動しないと
マルチポストとして扱われて相手をしてもらえなくなるので注意せよ。
ぼるじょあがC/C++の宿題を片付けますYO! 37代目
http://pc5.2ch.net/test/read.cgi/tech/1103913840/
0262デフォルトの名無しさん
NGNG正月から釣りに釣られちゃって…
おめでたい人ですね
0263デフォルトの名無しさん
NGNGま た お 前 か
先生が認めたからってよくやるわ。
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNGたとえばどんな本ですか?
0266デフォルトの名無しさん
NGNGもっともなクレイムだが、問題なのは
こいつが、まるで「Cに限定すれば答えられる」とでも思ってることだ ;-)
けっこうむずいぞ。(lex使用禁止!)
0267デフォルトの名無しさん
NGNGで検索すりゃいいんじゃないの。
可能な限り厳格にカウントしなければならないなんて書いてないし。
0268デフォルトの名無しさん
NGNG...
system(...以下略
0269デフォルトの名無しさん
NGNGfun x -> x * x;;
0270デフォルトの名無しさん
NGNGオブジェクトファイルをソースファイルにコンパイル
できるソフトってありますか?
0271質問!!
NGNGhttp://code.cside.com/3rdpage/jp/url/converter.html
ここでやってる
「テスト」 → 「%E3%83%86%E3%82%B9%E3%83%88」
のような文字コードを変換する関数を作ってください。
よろしくお願いします。
0272デフォルトの名無しさん
NGNGリンク済みのものからやるよりは含んでる情報が多いかもしれないけど
望んでいるであろう完璧な復元は絶対に不可能だからあきらめろ
それよりも、ファイル自体を復元することを考えなされ
つ[ ttp://www.vector.co.jp/soft/win95/util/se192983.html ]
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGそれをdecompileと言います。まる。
0275デフォルトの名無しさん
NGNG無事コンパイルできる環境を整えられたんですが、
コンパイルするソースファイルをいちいちフルパスで指定するのが面倒くさいです。
たとえばC:\srcというフォルダを作って、そこにソースをおくことにしてプロンプトから
bcc32 test.c
と打ち込むだけで、C:\src\test.cファイルをコンパイルできるようにしたいのですが、どうしたらいいかわかりません。
出力先を指定する-n<path>オプションのように、ソースファイルを指定する方法はないのでしょうか?
もしこのスレがスレ違いだったらごめんなさい。
0276デフォルトの名無しさん
NGNGカレントディレクトリを変えりゃいいだけの話じゃないのか・・・
0277デフォルトの名無しさん
NGNGありがとうございました。
0278デフォルトの名無しさん
NGNG今時始める奴はcmd知らんのよ
bccスレ時々見ておもう俺の感想
0279275
NGNGおっしゃるとおりcmdになれてません…使う機会がなくて
0280デフォルトの名無しさん
NGNGもうDOSは必須じゃないでしょ。BCCDEVとサクラエディタを紹介しておきましょう。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGパイプとかバッチ処理とか応用効いて良いんだけど
BCCDEVはいいよね。環境汚さずbcc入れられるからGNUな環境と共存できて
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGhttp://blogs.zdnet.com/open-source/index.php?p=86
0285216
NGNGただ普通に間違いを指摘すればいいだけなのにこういう言い方を平気で出来る奴ばかりなんですか?
プログラム板の人間って
0286デフォルトの名無しさん
NGNG何逆切れしてんのこいつ
0287デフォルトの名無しさん
NGNG真っ黒な画面がちょっと出て来たときと
「何!?今の!?」って騒がれた。
0288デフォルトの名無しさん
NGNG真っ赤な画面がちょっと出て来たときと
「何!?今の!?」って騒がれた。
0289デフォルトの名無しさん
NGNG低級プログラマなどという職種は、中国人や印度人、に交換されるそうですから近いうちに消えて無くなるので怒るだけ無意味ダト思ワレ(W
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG貴様、ハッカーを侮辱する気か!
0295デフォルトの名無しさん
NGNGvoid**という部分がよくわからないのですが
0296デフォルトの名無しさん
NGNGvoidポインタへのポインタ
0297デフォルトの名無しさん
NGNG違法アクセスやめようよ
0298デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG感謝しますありがとうございます
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNGC MAGAZINEとは?
C MAGAZINEは国内の技術者に向けて,さまざまな技術情報をお届けしている月刊誌です。
1989年より創刊以降,ソフトウェア開発の第一線に立つ方々にご執筆いただいた内容を一貫
して掲載し続けています。
プログラミングの初心者はもちろんのこと,さまざまな技術者に向けて,実際のプログラム
開発で役立つ実用性のある内容をお伝えすることを使命としています。
0304デフォルトの名無しさん
NGNGすいません、http://gcc.gnu.org/←このサイトのどこでgccがDLできるんですか?
0305デフォルトの名無しさん
NGNGいいかげんすれ違いの話はやめたらどうだ
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGすいません・・
0308デフォルトの名無しさん
NGNGいいません。
やーい > しったかぶり
0309デフォルトの名無しさん
NGNGたとえばだれだ?
0310デフォルトの名無しさん
NGNGばか?
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG日下部とかー
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGint main(void)
{
int *a;
int *b;
*a = 0;
return (0);
}
これで実行するとエラーになるんですが、
intへのポインタを指す変数を2つ宣言してはいけないですか?
0315デフォルトの名無しさん
NGNGポインタaが何を指してるか考えてみれ
0316デフォルトの名無しさん
NGNGaが指す先がない。intへのポインタを指す変数を宣言などしていない。
0317デフォルトの名無しさん
NGNGint型へのポインタですね。
「int型の何か」はmallocなどで生成します。
0318デフォルトの名無しさん
NGNG決して間違ったことは言っていないが微妙な回答だな…。
0319デフォルトの名無しさん
NGNG>>314さんのは
*a = 0;
でエラーがでています。
ポインタはメモリをポイントするのですが、
アクセス可能なメモリ以外の場合だと実行時にエラーとなります。
int *a; // int型へのポインタの宣言
int x; // int型の変数の宣言
a = &x; // xのメモリアドレス(ポインタ)をポインタ型のaに代入
*a = 0; // ポイント先(int x)に0を代入
0320!omikuji !dama
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGあなたって▓▓▓▓ですよね?
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGいや、三田はエッセイ書いただけだろ。技術的な記事は書いてない。
いくらC Magazine編集部が馬鹿でも、三田に技術的な記事を書かせるほど
馬鹿ではないだろう。
0325デフォルトの名無しさん
NGNG「いわない」ではなく「正しくない」だろ?
正しくはdiscompileであることぐらいはだれでもしってる。
0326デフォルトの名無しさん
NGNGいけない環境がタコなだけだよ。
うちは、ふつうに、viしてgccできるし、perlもrubyも最初から入ってるしapachもftpもふつうにうごいてる。
Linuxつかったときと同じなので楽。いまどきこれが常識!
0327デフォルトの名無しさん
NGNGhttp://www.itmedia.co.jp/dict/programming/tools/compiler/02231.html
http://www.google.com/search?num=50&hl=ja&q=decompile&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG逆アセンブル=disassemble
逆コンパイル=decompile
ここの連中は英語もろくにできないのか?
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGいま%sというのをみたんですが、これはなにを表すものなんでしょうか?
どなたかご教授おねがいします。
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG99ページに書いてある
0336デフォルトの名無しさん
NGNG何で改行してから " つけるの ?
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGchar ope = '+'
int num1 = 5;
int num2 = 7;
int ans;
ans = (num1 ope num2);
これで実行するとエラーが生じてしまいます。
どうしてでしょうか?アドバイスがありましたら
よろしくお願い致します。
0340デフォルトの名無しさん
NGNGmainが無いな。
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG0343339
NGNGここに問題があって、エラーになってしまうのです
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGそのような機能はC言語の標準では用意されていない。
0346デフォルトの名無しさん
NGNGつまらないネタは、いくら押してもつまらない。
0347デフォルトの名無しさん
NGNG>>339
>アドバイスがありましたら
>よろしくお願い致します。
Lisp 使え。
0348デフォルトの名無しさん
NGNG//ans = (num1 ope num2);
switch(ope) {
case '+':
ans = num1 + num2;
break;
case '-':
ans = num1 - num2;
break;
case '*':
ans = num1 * num2;
break;
case '/':
ans = num1 / num2;
break;
}
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG2ちゃんねるへようこそ
0351デフォルトの名無しさん
NGNGありがとうございます
0352デフォルトの名無しさん
NGNG例えば、以下のようなプログラムの場合
int getstr(const char* in, char* out)
{
[ inを処理して可変長のoutを得る ]
return 0;
}
int main(void)
{
const char str1[10]="aaaaaaaaaa";
char *str2;
[str2の領域確保?]
getstr(str1,str2);
printf("%s",str2);
[str2の領域解放?]
return 0;
}
mainではstr2の長さが分からないので領域確保できないですが
どうしたらよいでしょうか?
できれば、領域を確保した関数内で解放も行いたいのですが。
0353デフォルトの名無しさん
NGNGint op;
int (*func)(int, int);
} FUNC;
int f_add(int, int);
int f_sub(int, int);
int f_mul(int, int);
int f_div(int, int);
FUNC selection[] = {
{'+', f_add},
{'-', f_sub},
{'*', f_mul},
{'/', f_div},
};
0354デフォルトの名無しさん
NGNGif (ope == selection[i].op)
(selection[i].func)(num1, num2);
}
0355デフォルトの名無しさん
NGNGもしくはgetstr関数内で確保
0356デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1051703369/814
こちらも参考にどうぞ.
gcc でしか試していません.
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG# zlibは圧縮・展開のみでアーカイブ機能はないので…
0359Rubyist!
NGNG0360デフォルトの名無しさん
NGNGdeque<char *> dp;に文字列を格納する時に
char buf[100];
strcpy(buf, "abc");
dp.push_back(buf);
とするとうまく格納されるのですが、
char buf[100];
buf[0] = 'a'; buf[1] = 'b'; buf[2] = 'c'; buf[3] = '\0';
dp.push_back(buf);
とするといろいろ不具合が出るんです
何が原因でしょうか?
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG残念!
あと不具合の詳細も書いとけ
0363デフォルトの名無しさん
NGNGここだな
【初心者歓迎】C/C++室 Ver.12【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1101100031/
0364デフォルトの名無しさん
NGNGそれ以前にそのコードはC++、ここはCスレ。つまりスレ違い。
まあ面倒くさいからstd::dequeにはstd::stringを入れろ。
0365360
NGNGあと364の方が回答してくれているようですが、
atd::stringを入れるというのがどういう意味か分かりません
0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNGdeque<string> ds;
0368デフォルトの名無しさん
NGNGdeque<string>は分かるのですが、<char *>で扱うと
strcpy(buf,)で格納するのとbuf[0]、buf[1]と1文字ずつ文字を格納するのとで
違う動作になるのが意味不明で解決したいんです
どちらで文字列を作ってもbufの中身はまったく同じと思うんですが、
違うのですか?
0369デフォルトの名無しさん
NGNGCならね
0370デフォルトの名無しさん
NGNGstrcpy(buf, "abc");
の
buf[0] = 'a'; buf[1] = 'b'; buf[2] = 'c'; buf[3] = '\0';
結果が違うのか〜マイッタ
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG俺んところはこれを実行しても何も問題なないが。
#include <iostream>
#include <deque>
using namespace std;
int main()
{
deque<char *> dp;
char buf_a[100];
strcpy(buf_a, "abc");
dp.push_back(buf_a);
char buf_b[100];
buf_b[0] = 'a'; buf_b[1] = 'b'; buf_b[2] = 'c'; buf_b[3] = '\0';
dp.push_back(buf_b);
cout << dp[0] << '\n' << dp[1] << endl;
return 0;
}
0375360=365=368
NGNGC++だと違うのですか?
よければどう違うのか詳しく解説してくれる方居りませんか?
向こうで聞いても誰も教えてくれないので・・・
0376デフォルトの名無しさん
NGNGまた君か
0377デフォルトの名無しさん
NGNG0378360
NGNG#include <deque>
using namespace std;
int main(void){
deque<char *> dp;
char buf[100];
buf[0] = 'a'; buf[1] = 'b'; buf[2] = '\0';
dp.push_back(buf);
buf[0] = 'c'; buf[1] = 'd'; buf[2] = '\0';
dp.push_back(buf);
cout << dp[0] << dp[1] << endl;
return 0;
}
これを実行した時に、頭の中ではabcdと表示されると思うのですが、
cdcdと表示されるのです
0379デフォルトの名無しさん
NGNGお前、C++なんかやる前にCをもう少しちゃんとやれ。
ポインタについて何もわかってないだろ。
0380デフォルトの名無しさん
NGNGポインタ理解してないだろうな、とは思ったが…
0381360
NGNG<char *>って書くと勝手に領域作ってくれて
そこに文字列を代入してくれる仕様だと思いこんでいました
これからはstringを使います
0382デフォルトの名無しさん
NGNGでは、何事もなかったかのように「C言語なら俺に聞け!」をお送りします。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG中級者はgcc -Wall -pedantic の警告に耳を傾けていれば不必要。
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG電子辞書使え
0388デフォルトの名無しさん
NGNG改めて、
exe形式で保存するのにはどうせればいいですか^^
exeファイルを作りたいんですが^^
0389デフォルトの名無しさん
NGNG何の? どんな?
0390デフォルトの名無しさん
NGNGCとか、そういうファイルをexeにしたいんですが^^
実行するにはexeしかないし^^
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGレンジで簡単料理の本を読め
0394デフォルトの名無しさん
NGNGすいません
0395デフォルトの名無しさん
NGNG別にexeでなくても動きますがなにか。
0396デフォルトの名無しさん
NGNGえ?^^;
0397デフォルトの名無しさん
NGNGそうなんですか。
じゃあVBっていうので動かしたいんですけど、どうすればいいですか
0398デフォルトの名無しさん
NGNG優しい私が教えて差し上げましょう。
まず、exeファイルというのはWindows用の実行ファイルの事ですね。
それを作るというのはつまり、コンパイルするということです。
コンパイルするためには、コンパイラというソフトを使うと良いでしょう。
コンパイラはいろいろありますが、市販の物ならMicrosoftのVisualC++など、
無料の物なら…飽きた。この話題飽きた。
0399デフォルトの名無しさん
NGNGだから、料理の本買えって
0400デフォルトの名無しさん
NGNGそうなんですか^^
親切にどうもありがとうございます。
今からぐぐってきます^^
0401デフォルトの名無しさん
NGNGVisualBasicの使い方が書いた本が店に売ってるだろ。
0402デフォルトの名無しさん
NGNG料理の本なんてみなくても目玉焼きぐらいなら作れますよ^^^^^^^^
0403デフォルトの名無しさん
NGNGありがとうございます
今度
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGリソースエディタもヘルプも付属されず。あくまで練習用だ。使いたいならVectorでBCCを検索してみろ。
0407デフォルトの名無しさん
NGNG射精していいですか
0408デフォルトの名無しさん
NGNG風俗街に逝けょ
0409デフォルトの名無しさん
NGNGまだガマンしなさい…うふふ
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGと同じ機能のDの関数ってあるの?
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGそりゃSDKではshlwapi.hで宣言されたwinapiだから、呼び出し型に注意して動的リンクすりゃ使える。
0418デフォルトの名無しさん
NGNGディレクトリってどこでしょうか
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG% find / -type f -print | xargs grep stdio.h
0422デフォルトの名無しさん
NGNG驚いた
一瞬D言語スレと間違えたかと目を疑った…
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG大抵は/usr/include
0426デフォルトの名無しさん
NGNG"プログラミング言語C"って言うならともかく
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG>cc -o a,exe foo,c
','と'.'は同じではないし
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG日本語だから。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG「指す内容」が変更されないことを示すのに「const」って使えますよね?
func(const char *); みたいに。
渡すときに内容がセットされてなければいけないか、どうかを示す方法はないですか?
foo(const char *buf, // Input
BAR *type, // Output
BAZ *info) // Input / Output
みたいな場合、typeのメンバーは呼ぶときにセットしておく必要はないが、
infoのは必要ある、みたいなのをコンパイラーもしくはlintに知らせたい場合。
0437デフォルトの名無しさん
NGNG「内容をセットする」がどういう意味かを説明せよ。
ポインタが NULL ではない、という意味か? ポインタが指す先に何かあ
る、という意味か? どっちにしても、コンパイル時に検出するのは難し
いと思うけど。
0438デフォルトの名無しさん
NGNG変化するものをコンパイルラーに検出してもうこと自体おかしい
0439デフォルトの名無しさん
NGNGをいじくるプログラムを作りました。
機能として、単に参照(画面出力)や二つのリストファイルをマージ、ソート
する機能をつけました。
ふと疑問に思ったのですが、各関数に渡す引数については
FILEポインタを渡したほうがいいのか、
const char *を渡し、関数内でfopen,fcloseさせたほうがいいのでしょうか。
どちらにせよ、プログラム内では統一させますが、普通はこうやる
みたいなのはありますか?
ちなみに僕は後者の方法にしました。
0440デフォルトの名無しさん
NGNG再利用しやすいのは前者
0441デフォルトの名無しさん
NGNGこれ、本当なの?
0442デフォルトの名無しさん
NGNGfopenなどの高水準なファイル入出力関数と
openなどの処理系依存(?)の低水準な関数って、
どう使い分けるの?
openなどを使うメリットは?実行ファイルが小さいとか?
教えてください。
0443デフォルトの名無しさん
NGNG互換性と処理速度が全く違う。動的リンクするならサイズは余り変わらない。ちなみにwinならCreateFileか_lopenを使え
0444デフォルトの名無しさん
NGNG論理エラーの議論を無視するのが2chの仕様
0445439
NGNG今度、前者の方で書き直しときます。
0446デフォルトの名無しさん
NGNG確かB言語ってのがあったからC言語って名前にしたらしい
何故B言語っていう名前だったかは知らん
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGALGOL60 が起源の CPL (Combined Programming Language)
-> BCPL (Basic Combined Programming Language)
-> B (First letter of BCPL)
-> (NB := New B)
-> C (Second letter of BCPL)
じゃなかったかな
0449デフォルトの名無しさん
NGNGつまりC言語の命名に従えば、
D言語じゃなくてP言語になるべきだったのか
0450デフォルトの名無しさん
NGNGそうですね
でも C++ も C# もありますしね
ちなみにC#の#は
++を上下に2つくっつけた説と
半音高い説があります
いずれにしても MS は「C# は C++ よりもイケてる」と言いたかったようです
0451デフォルトの名無しさん
NGNG>半音高い説があります
じゃ俺、もう半音高い D にするわ。
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG0460激初心者
NGNGうまくいきません(文字化けしてしまいます)。どこに問題があるのでしょうか?
#include <stdio.h>
int main(void)
{
FILE *fp;
char word1[256], word2[256];
fp = fopen("dat37.dat", "w");
printf("Input any word.\n");
fgets(word1, 256, stdin);
fprintf(fp, "%s", word1);
fgets(word2, 256, fp);
printf("%s", word2);
fclose(fp);
return 0;
}
0461デフォルトの名無しさん
NGNGおいおい書き込みモードでファイル開いてるのに読み込もうとするなよ
0462デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
FILE *fp;
char word1[256], word2[256];
fp = fopen("dat37.dat", "w+");
if (fp == NULL)
return 1;
puts("Input any word.");
fgets(word1, sizeof word1, stdin);
fputs(word1, fp);
fseek(fp, 0, SEEK_SET);
fgets(word2, sizeof word2, fp);
puts(word2);
fclose(fp);
return 0;
}
0463激初心者
NGNGあ・・。ありがとうございます。^^;
読み込みモードで開きなおしたらできました。
ちなみにfeof関数も使えということなんですが、これは
do {} while(feof(fp) == 0);と、読み込みのとこに足せば
良いのでしょうか?
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466激初心者
NGNGご丁寧に直して下さってありがとうございます!
ところで
fseek(fp, 0, SEEK_SET);
は指定ファイルを頭出しする為に必要、ということでよいのでしょうか?
0467激初心者
NGNGすいません^^;
リファレンスでfeof関数は見てみたのですが、EOFを検出すると!=0になるというのが
いまいち使い方がわかりません。
if else文でif (feof == 0)と else で条件分岐させるということでしょうか?
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG関数の後にはカッコに囲まれた引数がいる。
0470デフォルトの名無しさん
NGNGたとえば
-----------------------
This paper written by hoge.
You see , I'm hoge.
1,2,3
4,5,6
7,8,9
-----------------------
上のようなデータファイルがあったとき
1,2,3
4,5,6
7,8,9
の部分だけずらっと読み込みたいんですが、
定石のようなコードはありませんでしょうか?
今まで上のようなデータファイルのときは文字の部分を切り取って
fscanfで読み込みをしていたもんで^^;
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGsscanf等で取り込むのが一般的かと。
極端に速度を求めるのでもない限り。
0473デフォルトの名無しさん
NGNGhttp://school4.2ch.net/test/read.cgi/kouri/1102125273/
なんともム板にふさわしいスレタイではないか。「真」だ!!!
0474デフォルトの名無しさん
NGNG先頭文字チェックですか。
参考にします。どうもでした^^
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG100! Shift+Enter
終わり
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNG関数型言語としてしか使わないが。スレ違い。
0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNG> 変化するものをコンパイルラーに検出してもうこと自体おかしい
は? 「変化する」かどうかを決めるのはコードのロジックだろうが!
コンパイラーがチェックするのはあたりまえ。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGネタをネタと(ry
0484デフォルトの名無しさん
NGNGは? こいつぼけか。
(1) 参照しかしてない
(2) 値が変わっている
(3) 参照もし、値が変わっている
の3種類を区別する方法だよ ぼけ。(1)はできるが、(2)と(3)を区別したい。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG>438の「コンパイルラー」はどうよ。
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG>>436を、
どう解釈すればそんな回答が飛び出すの?
0490デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG>>484
つか >>436 のような場合、未設定の変数「を指すポインタ」を
引数に使う分には警告も何もださないのがふつうで、それを
何とかしたいんでしょ?
結論としては「無理」としか言いようがないけど。
もし引数が構造体へのメンバだったら
まったく使用しないメンバも有り得るわけで
そんなのまでいちいち警告出されたくないだろうし。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG電子手帳
0496デフォルトの名無しさん
NGNG・合計
・平均
・最大値
・最小値
・範囲
を求めるプログラムを作成せよ。
という課題が出ているのですが学がなくまったくわかりません。
どなたか教えてください。
0497デフォルトの名無しさん
NGNGの様に各行の要素数がバラバラのcsvファイルがあります。
これを改行が出るまで読み込み、2次元配列に読み込ませるプログラムを作成中です。
(初期値として配列の要素は全て-1)
fscanf(fp, "%d", &y[i][j]);
を使って読み込んでみましたが値が代入されません。
どのようにすれば読み込めるのか教えていただきたいです。
よろしくお願いします。
0498デフォルトの名無しさん
NGNGわからんことは聞け。
int i; float an[5];
float s,a,mi,ma;//合計,平均,最小値,最大値
for(i=0;i<5;i++){
printfで"i番目の実数は?"と表示;
scanfでan[i]に実数を入力;
}
0499デフォルトの名無しさん
NGNGi,jをそれぞれ説明しろ。
fscanfとsscanfをヘルプれ。
0500デフォルトの名無しさん
NGNG解決しました。
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG0503超初心者
NGNG1文字をカウントしたいのですが、0文字になってしまいます。
どこに問題があるのでしょうか?
#include <stdio.h>
#include <fcntl.h>
int main(void)
{
int fd;
int n_read;
int count = 0;
int ch;
char buf[256];
fd = open("data.dat", O_RDONLY, 0);
fprintf(stdout, "Input a letter you want to count.\n");
ch = fgetc(stdin);
while ((n_read = read(fd, buf, 1)) > 0) {
if (buf == ch)
count++;
}
fprintf(stdout, "found %d%c.\n", count, ch);
close(fd);
return 0;
}
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG//main
double a[3][3]
double b[3][3]
//関数呼び出し (どうやって行列を受け取るか?)
b = arrray2(a);
//関数部 (関数の型を2次元配列にするには?)
double arrray2(double (*a)[3])
{
double c[3][3];
return c;
}
aという行列を関数array2を使い変形したあとbに渡したいんですが、
2次元配列を返すのにどうしたらよいのか教えてください
0506超初心者
NGNG0507デフォルトの名無しさん
NGNG>if (buf == ch)
これがコンパイルできてしまうようなコンパイラは
棄てた方が幸せになれる。
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNGほんまか。コンパイラ教えれ
0510超初心者
NGNGBCCです・・。 buf == (char)ch ・・じゃだめですよね?^^;
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGdouble[][]→double**
出力用の仮引数double**outを追加。
0513デフォルトの名無しさん
NGNG> if (buf == ch)
配列「buf」の先頭ポインタ値と、
変数「ch」の値が一致するか?
と言う判定だから、型の不一致で警告は出ても、
エラーにはならないのでは?
0514超初心者
NGNG0515初心
NGNG何故か分かりませんか?
#include <stdio.h>
int main(void)
{
int a, b;
printf("金額を入力して下さい。\n");
scanf("%d", &a);
b = a * ( 1 + 5 / 100 );
printf("%d 円の消費税込みの価格は %d 円です。\n", a, b);
return 0;
}
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG整数の割り算だから。途中でキャストや代入どして、floatやdouble型の式に変換すべし。
0519Yura
NGNG->a * 1.05
これでうまく動くと思います(理由は面倒なので他の人どうぞ)
0520515
NGNGは自分も確認しました
でも、
a * ( 1 + 5 / 100 );
だと出来ないので不思議に思ってました。
floatかdoubleでやってみたいと思います。
どうもでした
0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG( ゚Д゚)ポカーン
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGa + a * 5 / 100;
0527526
NGNGintに代入するなら浮動少数かますなあほども。
0528デフォルトの名無しさん
NGNG昔、描画関数を速くするためによく整数化したもんだ。
0529デフォルトの名無しさん
NGNGできますよ。デマを流さないように。つっても釣られるやつはいないと思うけど。
0530デフォルトの名無しさん
NGNG1ページずつ表示する、の意味がわかりません。
コマンドプロンプトの画面1つが1ページなんですか??
0531デフォルトの名無しさん
NGNG言ったやつに聞け
0532デフォルトの名無しさん
NGNGおそらくkbhitやgetchでキー待ちができる。ヘルプれ。
0533デフォルトの名無しさん
NGNG1 ページに縮小表示汁
0534デフォルトの名無しさん
NGNGどうも、sizeof(a)は配列の要素数を返しているようなんですが……
これはコンパイラ(gccです)の仕様なんですか?
0535534
NGNG0536デフォルトの名無しさん
NGNGchar a[256];
char *b;
こうしているんだろ
0537530
NGNGif (kbhit()) c = getch(); で入力待ちができることはわかったのですが、
それでどう画面をページわけできるのかが・・。
どういう形で使用するのでしょうか?
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG一行ずつ
0542デフォルトの名無しさん
NGNG決めた行数を表示して停止すれば
0543534
NGNGなら、 char a[256]; のときの256って数値は、どこかに数値として残ってるってことですか?
だったら、その数値を読み出す方法とかないんでしょうか。
0544デフォルトの名無しさん
NGNGいや、sizeofはコンパイル時に定数になるから。
逆にコンパイル時に決まらない値(動的な配列のサイズ)は
求められない
0545530
NGNGありがとうございます、やってみます!
0546534
NGNG求めてるわけですか。 試しに sizeof(malloc(256)) とやっても、返ってきたのはポインタのサイズでした。
0547デフォルトの名無しさん
NGNGというか厳密に言えば、char a[256];のaの型はchar*じゃないぞ
だからこそsizeofの結果が違ってくるんだけど。
0548534
NGNG配列を表す型、みたいに呼ぶんでしょうか?
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG厳密に言う必要はない
0552デフォルトの名無しさん
NGNGchar a[256];としたらaの型はchar [256]、つまりcharの配列[要素数256]であり、決してchar*ではない。
構文上はaが使われるたびに配列からポインタの読み替えがなされている。
http://kmaebashi.com/programmer/pointer.html
ここの下の方、「配列→ポインタの読み換え」の項にあるけど、
sizeofと単項&には例外的に配列→ポインタの読み替えが起こらない。
(ここから余談)つまり&aとするとchar(*)[256]、charの配列へのポインタが得られる。
0553デフォルトの名無しさん
NGNGできないコンパイラーがあったらかなり問題があるぞ
0554534
NGNGsizeof(char[256]) でやってみたら、見事に256が表示されました。こういう形の型もあったんですね。
char *b=&a としたときでも b==a となりました。つまり、「a[256]の配列」が始まる場所と「数値a[0]」がある場所が
同じだから、 「先頭要素へのポインタと読みかえられる b=a」 でも、「char(*)[256]へのポインタである b=&a」でも、
結局は同じ場所を指すことになるってことですね。なんか言いづらいですが、頭のなかじゃ理解できました。
0555デフォルトの名無しさん
NGNG実行ファイルが使用したメモリ量を計測する簡単な方法はないでしょうか。
今はタスクマネージャを目視して図っているのですがもっとスマートなやり方があるような気がするのですが・・・
・・・というか意味分かりますかね?(;´Д`)
0556デフォルトの名無しさん
NGNGスレ違い。
0557555
NGNG申し訳ありませんでした。
失礼ついでに差し支えなければ教えてください、どこで聞いてくればよいでしょうか?
0558デフォルトの名無しさん
NGNGこのあたりかなぁ
Win32API質問箱 Build26
http://pc5.2ch.net/test/read.cgi/tech/1104109858/
★初心者にVisual C++を教えるスレ★ Part16
http://pc5.2ch.net/test/read.cgi/tech/1101022051/
0560デフォルトの名無しさん
NGNGここなんかどう?
http://pc5.2ch.net/test/read.cgi/tech/1101931660/
さもなきゃここか。
http://pc5.2ch.net/test/read.cgi/tech/1092524669/176
0561デフォルトの名無しさん
NGNG英単語をその数だけ入力して、
アルファベット順に並べるプログラムってどうやって作れますか?
どうかよろしくお願いします。
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGぼるじょあがC/C++の宿題を片付けますYO! 37代目
http://pc5.2ch.net/test/read.cgi/tech/1103913840/
今度はちゃんとテンプレ読んで質問すること
0564デフォルトの名無しさん
NGNGここがダサい。
0565デフォルトの名無しさん
NGNGだからさ&aとaは値が同じになっても型が違う。
char a[256];
char *b = a;
char (*c)[256] = &a;
0566デフォルトの名無しさん
NGNG>561
char**pp=(char**)malloc(n*sizeof(char*));
...
pp[i]=(char*)malloc(100);
...
これならreallocでnを増やせる。
0567デフォルトの名無しさん
NGNGC言語ですか?それともC++で拡張された物ですか?
初歩的な入門書しか買わなかったのですが
次に何を買うか迷っています
0568デフォルトの名無しさん
NGNGCでもC++でもなく、Visual C++のコンパイラ独自のもの。
本に載っていなくてもその本自体は別に悪くない。
0569デフォルトの名無しさん
NGNG初期化済みの構造体のポインタを得たいのです。
static型なので、一発で上のようなことができないでしょうか。
static struct kozo *abc={0,0,0,0};
static struct kozo *(abc={0,0,0,0});
ではうまくいきませんでした。
よろしければどこがいけないのかも教えてください。
0570デフォルトの名無しさん
NGNGstatic struct kozo nullkozo;
static struct kozo *abc = &nullkozo;
注: static 変数の初期値はオール0
0571デフォルトの名無しさん
NGNGstatic struct kozo abc={0,0,0,0};
とおけば、&abcはabcのアドレス。ポインタを初期化するのはアドレスのみ。
0572569
NGNGポインタはなかなか難しくて・・・(*´Д`)
0573デフォルトの名無しさん
NGNGstatic struct kozo abc[1] = {0, 0, 0, 0};
もちろんこういう方法もある。
static struct kozo abc_main = {0, 0, 0, 0};
#define abc (&abc)
ところでstruct kozoってテレフォン電話とかスポーツ運動とかそういう感じのネーミングだよ。
0574569
NGNGあ、訳したら構造構造ですね...気をつけます>_<;
0575デフォルトの名無しさん
NGNG何がしたいのかよく解らないよ。
static struct kozo *abc = calloc( 1, sizeof(struct kozo) );
こういう事か?
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGPAD図かな?
>>577
分岐数と実装による。
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNGC の仕様として速度は保証外
現実問題としては、何よりもまず実測
納得いかないときはアセンブラ(読むなり書くなり)
場合によってはハードウェアも視野に入れる
0582デフォルトの名無しさん
NGNG>>581の言う通りなんだけど、ifかswitchかで迷うなら可読性で軍配の上がるswitchにしてほしい。
0583デフォルトの名無しさん
NGNGそれもまた、一概には言えない。
0584デフォルトの名無しさん
NGNGchar str[10] = {""};
こういう初期化方法って一般的ですか
0585デフォルトの名無しさん
NGNG私なら降格。
char str[10] = "";
0586デフォルトの名無しさん
NGNGchar str[10] = "";
でいいんじゃない?
0587デフォルトの名無しさん
NGNG�dです。
あと、関数内で確保したchar配列の領域って
その関数が終了すると解放されるんでしたっけ?
初歩質問ばっかでスマセン
0588デフォルトの名無しさん
NGNGstaticじゃなければそう
0589デフォルトの名無しさん
NGNGsub.cで定義されて、かつ外部で使用されるグローバル変数や関数の宣言をまとめたものをsub.hに書いたとします。
sub.hの大半は、externではじまる文になると思うのですが、
sub.cに#include <sub.h>を入れるべきなのでしょうか?入れないべきなのでしょうか?
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG習慣として入れなきゃ駄目。
通常は構造体とかdefineとかがあるから入れないとビルドできないし
もし関数だけだった場合でも.hと.cで関数が食い違ってたら悲惨なことになる。
関数だけで食い違いがなければビルドは通るし普通に動くけどね。
0592デフォルトの名無しさん
NGNGありがとうございます。
extern文と定義文が同一ソースにあるのは冗長かと思い、迷っていました。
0593デフォルトの名無しさん
NGNGfopen,freadは無しで
0594デフォルトの名無しさん
NGNG#include "sub.h"ね
0595デフォルトの名無しさん
NGNG普通、open/readか、_open/_readが使える。ヘッダは処理系依存。
0596デフォルトの名無しさん
NGNGCreateFile
ReadFile
0598デフォルトの名無しさん
NGNG揚げ足取りだが、
>通常は構造体とかdefineとかがあるから入れないとビルドできないし
ヘッダがなくてもビルドはできるんだな。
勝手に定義しておけばいいだけで、なんならヘッダと一致していなくてもビルドはできる。
昔見たソースがそうなっていてしかも、おまけにメンテしていた人の愚痴コメントが書いてあった。
こんなところで勝手に定義して食い違ったらどうするんだとね。
ふと思い出したのであえて突っ込んでしまいました。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGかなり昔学校の課題で考えたことある。で?
0601デフォルトの名無しさん
NGNG命令すんなボケェ
0602デフォルトの名無しさん
NGNG#include <stdio.h>
int main(int argc,char**argv){int a,b[256]={0};FILE*fp;if(!(argc==2&&(fp=fopen(
argv[1],"r"))!=NULL))return 1;while((a=getc(fp))!=EOF)b[a]++;for(a='a';a<='z';a
++)printf("%c:%d\n",a,b[a]+b[a+'A'-'a']);fclose(fp);return 0;}
0603デフォルトの名無しさん
NGNG手直しするたびに0.1増やすとか、形になったら1.0になるとか、、
0604デフォルトの名無しさん
NGNG#include <stdio.h>
typedef struct { char name[20];
int age;
}data,*pdata;
voidinput(pdata p,char*,int);
int main()
{
data _data[1];
pdata _pdata;
_pdata=_data;
input(_pdata,"ポコたん",19);
printf("%s %d\n",data[0].name,data[0].age);
return 0;
}
void input(pdata p,char *nm,int a)
{
strcpy(p->name,nm);
p->age=19;
}
この場合なぜ関数INPUT内で nmをp->nameにコピーすることで
名前 ポコたん がname[20]の中に入るのか分からないのです
また、どうしてcharのポインタで呼び込まないといけないのでしょうか
普通にchar nameではなぜエラーになるのか
どなたか教えてもらえないでしょうか。
0605デフォルトの名無しさん
NGNGまず、変数の先頭に_を付けるのは止めた方が良いです。
予約語とかぶる恐れがあります。
Cでは大文字と小文字を区別するので、inputとINPUTは別物ですから、気を付けてください。
本題ですが、
_pdata=_data;
しているでしょ。これは_pdataというポインタが_dataという配列の先頭を指す、
という意味を持っています。
ですから、その後の関数inputの呼び出しでは、メモリ上で_dataと同じ部分がが
使われているのです。
0606デフォルトの名無しさん
NGNGところで、本当はネタなんでしょう?
0607デフォルトの名無しさん
NGNGそれコンパイルできません
0608デフォルトの名無しさん
NGNG忠告ありがとうございます。以後気をつけます。
質問点なのですが、なぜstrcpy(p->name,em);なのかが分からないです。
*emではないのでしょうか?
p->nameは(*p).nameと同義ですよね、それになぜアドレスをコピーできるのかが分かりません。
>>606
マジです、スレ汚してすみませんorz
0609デフォルトの名無しさん
NGNG暗黙のルールとかあるのかな
0610デフォルトの名無しさん
NGNGつまりコンパイラ屋さんしか使ってはいけない。
0611デフォルトの名無しさん
NGNG_のプリフィクスは使わない方がよい。
代わりに_のサフィクスにする。
使うのはスコープを明示したいとき(主にメンバ変数)。
0612デフォルトの名無しさん
NGNG>603
基本的に適当。
0613デフォルトの名無しさん
NGNG何とも古くさいルールだな
/usr/usr/usr/usr/usr/usr/bin
0614608
NGNG落ち着いて少し、調べてきます。お騒がせしてすみませんでした
0615デフォルトの名無しさん
NGNG>>581-583
トンクス!
レス遅れました_| ̄|○スンマセン
色々試してみます。
0616デフォルトの名無しさん
NGNGそうなん?詳しく
0617デフォルトの名無しさん
NGNG詳しくもへったくれもねえだろ
めちゃ小さいプログラムでない限り
何レイヤもかぶせるんだぞ
0618デフォルトの名無しさん
NGNG見逃していたので一応レスです。
voidとinputの間にスペースを入れ忘れていたのと
%s%dにいれる変数のdataの前に_を付け忘れていました。
0619デフォルトの名無しさん
NGNG勉強し直してきますorz
0620デフォルトの名無しさん
NGNGconst char *s;
の時、const はcharに掛かるのでありますかそれとも
*にかかるのでありますか。
また、それはどういう意味でありますか、Sir!
予想
1)constはcharに掛かり文字が変更できない、ポインタの増減は可能であります。
2)const *はポインタを動かすことすら不可能であり、
さらにはcharに触れるなど言語道断である、と申されますか。
いったいどちらの予測が正しいのでありますか?Sir!
0621デフォルトの名無しさん
NGNG終わってるなお前
0622デフォルトの名無しさん
NGNGm9(^Д^)プギャー
0623デフォルトの名無しさん
NGNGchar* const s; → ポインタ変数がconst
char const * s; → 最初に同じ
0624623
NGNG0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGm9(^Д^)プギャー
0628デフォルトの名無しさん
NGNGm9(^Д^)プギャー
0629デフォルトの名無しさん
NGNGm9(^Д^)プギャー
0630623
NGNG0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNGそれは君が馬鹿だからです。
0633ぼるじょあ ◆yBEncckFOU
NGNG0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGこのスレの伝統です。
0636デフォルトの名無しさん
NGNGどうしたらいいのかわかりません。
教えてもらえませんか?
#include <stdio.h>
main()
{
int d;
push(1);
push(2);
push(3);
d = pop();
printf("%d\n", d);
d = pop();
printf("%d\n", d);
push(4);
d = pop();
printf("%d\n", d);
push(5);
d = pop();
printf("%d\n", d);
d = pop();
printf("%d\n", d)
}
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG一人だけの奈
0640デフォルトの名無しさん
NGNGこいつぼけ
0641デフォルトの名無しさん
NGNG1024を入力するとして、入力画面は
1
0
2
4(enter)
とはならず、
1024(enter)
といった感じにしたいです
0642デフォルトの名無しさん
NGNG「1」「0」「2」「4」の順にキーを叩いて, 最後に「Enter」キーを叩けばそのように入力できるはずだ.
0643デフォルトの名無しさん
NGNG要はenterを押すまで数字を入力し続けられ、画面に入力した数字がリアルタイムで出ればいいです
>>641はその際こうなって欲しいということです
0644デフォルトの名無しさん
NGNG> こういう初期化方法って一般的ですか
間違い。コンパイラーはwarningださないが、splintはちゃんと指摘してくれる。
0645デフォルトの名無しさん
NGNGchar str[10] = {0};
だろうなぁ
0646デフォルトの名無しさん
NGNGchar str[10] = "";
0647デフォルトの名無しさん
NGNG環境依存だけどgetchで
0648デフォルトの名無しさん
NGNG189ペイジ参照
0649デフォルトの名無しさん
NGNGhoge - piyo の値が10じゃなかったら
変数piyoに数値を変えて10になるようにしたいんですけど
どうやればいいんですか?
なんかすごく簡単そうだと思うけど、実際に組むと全然分りません
0650デフォルトの名無しさん
NGNGpiyo = hoge - 10;
小学生レベルの式変形かと…
0651デフォルトの名無しさん
NGNGありがとうございます
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNGこれだけでいいじゃん
0654デフォルトの名無しさん
NGNG>変数piyoに数値を変えて10になるようにしたい
この言葉、誰か日本語にしてよ。
0655デフォルトの名無しさん
NGNGif ((hoge - piyo) != 10) {
piyo = hoge - 10;
if ((hoge - piyo) != 10) {
fprintf(stderr, "失敗したぞゴルァ\n");
}
}
0656デフォルトの名無しさん
NGNGint foo ;
int bar ;
} ;
int main(void) {
static struct HOGE a ;
return 0 ;
}
みたいなことやっても、a が値を保持し続けてくれないんですが、なぜですか?
なにか良い方法はないでしょうか?
一番上の //★ のところにも static 付けてみたけど駄目でした。
どうしてもわかりません・・・
0657デフォルトの名無しさん
NGNG保持し続けるってどういうこと?
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGマジレスするとプログラムを実行するごとに, 前の実行で設定した値を使いたいなら
ファイルに保存するなりしないといかん.
0660デフォルトの名無しさん
NGNG0661656
NGNG別関数の中で static a とかって宣言すると、静的な領域に確保されて、
関数が消滅した後も、その値が残ってるはずだと思ったんです。
構造体でも同じようなことがしたいのですが、無理なのでしょうか?
プログラムを終了してもって事じゃないけど、レスありがとうございます。
参考になるっす。
0662デフォルトの名無しさん
NGNG言ってる意味がようわからん。ソース貼ってくれ
0663603
NGNG0664デフォルトの名無しさん
NGNGスレ違いにもかかわらず、もう答は出てると思うが。
0665656
NGNGなぜかちゃんと出来ました(;´Д`)
static がうまく機能しなかったんです。
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG�@main()
�Amain(void)
�Bint main(void)
�Cint main()
どれがいいですか?
ちなみに自分は�@番がいいかな、とか思ってます。
0669デフォルトの名無しさん
NGNG結局どれでもいいっすよね?
0670デフォルトの名無しさん
NGNG省略すると返り値がvoidの場合とintの場合、(もしくはそれ以外)があるので、
int main(int argc, char* argv[])と書いた方が良い。
ちなみに、プログラムが終了時に何も返り値を返さない場合、他のシェルなどの
プログラムから扱い難くなります。
なるべくint型の返り値を返すようにした方が良いです。
0671デフォルトの名無しさん
NGNGttp://www9.plala.or.jp/sgwr-t/c/sec11.html
こちらのサイトの (2)関数の使用例 あたりで、return を省略したら
int 型になると、はっきり赤字で書いてあったので、鵜呑みにするところでした。
確かに、先のこととか考えると、670さんの表記の仕方の方が正しいと思えます。
大変参考になりました。
0672603
NGNG0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNG何の本を読めばいいんですか?
0675デフォルトの名無しさん
NGNGreturn を省略したら int 型になる
0676デフォルトの名無しさん
NGNGそれ以外は処理系定義(つまりどこでも動くとは限らない)とされている
(5.1.2.2.1 Program startup -1より)
mainの戻り値がintとcompatibleな場合、returnを省略するとreturn 0;と
同等になる。mainの戻り値がintとcompatibleでない場合、戻り値は
明示されていない(unspecified)。
(5.1.2.2.3 Program termination -1より)
0677デフォルトの名無しさん
NGNGISOに返値型の省略についての記述ってあるのかな
以前探したけど見つからなかった罠…
0678デフォルトの名無しさん
NGNG本当だ。
省略時のreturn 0;はC++だけだと思ってたらC99に加えられていたのね。
0679デフォルトの名無しさん
NGNGどうしたらいいんでしょうか?
ファイルポインタを
消したい文字の後ろに持ってきて
fputc('\b', fin);
で削除できるかと思ったのですが
できませんでした。
fputc(0x80, fin);fputc(0x10, fin);
どちらでも駄目でした。
バイナリファイルを扱いたいです。
0680デフォルトの名無しさん
NGNG失礼しました。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGりーどらいと汁!
0683デフォルトの名無しさん
NGNG処理系定義の意味を歪曲してはいけない
未定義や未規定とは違う
保 証 さ れ た 動 作
であることを銘記すべき
0684デフォルトの名無しさん
NGNG処理系定義の意味を歪曲してはいけない
未定義や未規定とは違う
保 証 さ れ た 動 作
であることを銘記すべき
0685デフォルトの名無しさん
NGNGソース(三角形のプログラム)を拾ってきて貼り付けて実行しても
エラーしか出ません
何か必要なものがあるのですか
0686デフォルトの名無しさん
NGNGソースを見ろ
エラーを見ろ
足りないライブラリを追加しろ
0687デフォルトの名無しさん
NGNG人是非教えてください。お願いします。
0688デフォルトの名無しさん
NGNGインストールしました
しかし学校ではUnixを使っているため
カンパイルから実行まで全てがさっぱりです
初心者向けで良いサイトがあれば教えてください
よろしくお願いします。
0689デフォルトの名無しさん
NGNGマルチ氏ね
0690デフォルトの名無しさん
NGNG>>2のcygwinとか入れればいいじゃんかよ
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=%83J%83%93%83p%83C%83%8B&btnG=Google+%8C%9F%8D%F5&lr=
上から2番目が答えだ。今日からあなたもカンパイル。
0693デフォルトの名無しさん
NGNGじゃ、まずはモンテカルロという町はどういうところか、ということをレポートに
まとめなさい。
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNGその構造体の型による「変数」の宣言を関数内のstaticにしろ > ぼけ
0696デフォルトの名無しさん
NGNGですが、どこが難しいのかよく解からなく、逆に難しいとされている事を理解できてないのか?と不安です。
たしかに、ポインタの有用な使い方が思い当たらないってのはあるんですが、基本的なことは単純なような気がします。
そこで、難しいとされている理由を教えてください。
*の使い方が、若干ややこしいという事ですか?
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG{
int i;
if(x == GOAL_X && y == GOAL_Y)
{
printf("Goal in!!\n");
printmaze();
return;
}
maze[y][x] = KITA;
for(i=x;maze[y][x+1] == AKI;i++)x=x+i;
for(i=y;maze[y+1][x] == AKI;i++)y=y+i;
for(i=x;maze[y][x-1] == AKI;i--)x=x+i;
for(i=y;maze[y-1][x] == AKI;i--)y=y+i;
printf("I can not find goal.\n");
maze[y][x] = AKI;
}
迷路の全ての経路探す関数ですが、これって再帰使わないで解けますか?
0699デフォルトの名無しさん
NGNG書けません。次。
0700デフォルトの名無しさん
NGNG再帰を使ういい例だ
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG何か解くヒントくれませんかー
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNG変数が5以上だったら変数の値-5の数値で、
10以上だったら-10、15以上だったら-15と言った感じで、
変数が5の倍数の数値以上だったら、その一番大きい倍数を
引いた数を求めたいんですけど、どうすればいいんですか?
0705デフォルトの名無しさん
NGNGv = v % 5;
0706デフォルトの名無しさん
NGNGv %= 5;
0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG再帰関数の中でそれ自体を引数を変えて呼び出し、返値を使う。ただし仮引数をポインタの入出力にしておけ。
0709デフォルトの名無しさん
NGNG%の実装は、*と/の組み合わせより遅いことが多い。
-(v/5)*5
0710704
NGNG例えば、変数の値が12のとき、求めたい数は2ということです。
0711デフォルトの名無しさん
NGNG遅かったらコンパイラが最適化でそっちに直すだろう。
ところでx86だと1命令で商と余り同時に得られるんじゃなかったっけ?
だからx86ではそこへ乗算をする分お前の方が遅いと思うんだけど。
>>710
if ((v %= 5) == 0)
v= 5;
0712デフォルトの名無しさん
NGNG% の計算量は / と本質的に同じ
0713704
NGNG例えば変数の値が29だったら、
29の中で一番大きい5の倍数は25ですよね。
で、29-25を計算して、求める数値は4という意味だったんです。
この、25の部分を求める方法を知りたいんです。
0714デフォルトの名無しさん
NGNG0715704
NGNGえ?これでは求めることは出来ませんよね?
vを5で割って、後で5をかけてるから、最初の値に戻るような・・・
0716デフォルトの名無しさん
NGNGアフォ やってみてから言え
0717704
NGNG電卓で計算しても、最初の数値に戻りますよ。
0718デフォルトの名無しさん
NGNG基礎からちゃんと教えて貰えるとでも思っているのか?
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNG5*5==25
0721デフォルトの名無しさん
NGNG死んだ方がいいな。
0722704
NGNGすみませんでしたw
0723デフォルトの名無しさん
NGNGすいません、プログラム間違ってました。
あれじゃ答え出ませんね。
訂正します。
maze[y][x] = KITA;
if(maze[y][x+1] == AKI)
findgoal(x+1,y);
if(maze[y+1][x] == AKI)
findgoal(x,y+1);
if(maze[y][x-1] == AKI)
findgoal(x-1,y);
if(maze[y-1][x] == AKI)
findgoal(x,y-1);
printf("I can not find goal.\n");
maze[y][x] = AKI;
これで再帰を使わないで関数findgoal()を書き換えるんです。
あれ、これって>708さんの言ってたことかな…
0724デフォルトの名無しさん
NGNGあっざーす!
0725デフォルトの名無しさん
NGNGいいえ言われません。言うとしたらよくわかってないくせに知ったかぶりする人が言うだけでしょう。
実際、ちょー簡単です。
0726デフォルトの名無しさん
NGNGいいえ言われません。言うとしたらよくわかってないくせに知ったかぶりする人が言うだけでしょう。
実際、ちょー簡単です。
0727デフォルトの名無しさん
NGNGいいえ言われません。言うとしたらよくわかってないくせに知ったかぶりする人が言うだけでしょう。
実際、ちょー簡単です。
0728デフォルトの名無しさん
NGNGいいえ言われません。言うとしたらよくわかってないくせに知ったかぶりする人が言うだけでしょう。
実際、ちょー簡単です。
0729デフォルトの名無しさん
NGNGいいえ言われません。言うとしたらよくわかってないくせに知ったかぶりする人が言うだけでしょう。
実際、ちょー簡単です。
0730デフォルトの名無しさん
NGNG色々調べたけど 「 復帰 」 としか書かれていなくて
肝心の説明がないので困っています。
0731デフォルトの名無しさん
NGNG鯖の調子が悪いときに投稿しまくりましたな。
>>730
試してみては?
0732デフォルトの名無しさん
NGNGいいえ言われません。言うとしたらよくわかってないくせに知ったかぶりする人が言うだけでしょう。
実際、ちょー簡単です。
0733デフォルトの名無しさん
NGNGくるくる
0734デフォルトの名無しさん
NGNGすれ違いです
0735デフォルトの名無しさん
NGNGのやつ、誰か木構造で出来るつわものの方いませんか?
0736デフォルトの名無しさん
NGNG> 色々調べたけど 「 復帰 」 としか書かれていなくて
ttyのキャリッジを左に戻すときに使います。
OS/9とかはこれ1つでテキストファイルの行の区切りでもありましたね。
0737デフォルトの名無しさん
NGNG片寄った知識ですね
0738デフォルトの名無しさん
NGNGアンタひょっとして群馬の大学に通ってないか?
いや念のためだ。
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG端末の仕様による
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGa ^= b ^= a ^= b というのは副作用の関係で良くないと聞きましたが、
a ^= ( b ^= ( a ^= b ) ) にすれば、
a ^= b, b ^= a, a ^= b と同じ動作を期待していいんでしょうか?
0743デフォルトの名無しさん
NGNG{
push a;
push b;
pop a;
pop b;
}
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG1つの式の中で副作用を受けるオブジェクトが2度参照されているようだが
0748ぼるじょあ ◆yBEncckFOU
NGNG0749デフォルトの名無しさん
NGNG根本的に、優先順序と評価順序の区別がついていない。
括弧は優先順序を変更できるが、評価順序は変更できない。
a = b ^ ( c ^ d ) という式に関して
b と c^d とで ^ 演算が実行されることは、優先順序により保証される。
だけど、b,c*d の順番で評価されるか c*d,b の順で評価されるかはわからない。
0750デフォルトの名無しさん
NGNG#include<conio.h>
void main(void)
{
int ch = 'a' ;
_ungetch(ch);
_ungetch(ch);
_ungetch(ch);
_ungetch(ch);
}
次の読み込みを行う前に 2 回以上 _ungetch 関数を呼び出すとエラーとなります。
って書いてあるけどエラーが出ません。エラーの出し方教えてください。
0751デフォルトの名無しさん
NGNG戻り値
どちらの関数も、正常に終了すると文字 c を返します。エラーが発生すると、_ungetch は EOF を返し、_ungetwch は WEOF を返します。
って書いてあるだろ。
0752デフォルトの名無しさん
NGNG0753windows環境です
NGNGそのプログラムの標準入出力を切り替えるには
どうしたらよいのでしょうか?
0754デフォルトの名無しさん
NGNG#include <conio.h>
#include <stdio.h>
int main(void)
{
int check ;
while(!_kbhit()){
printf("loop\n") ;
}
fflush(stdin) ;
check = _getch() ;
printf("%d\n",check) ;
return 0 ;
}
fflushのところで、入力した値をクリアしてると思ったんですけど、
getchで取り出してみると、値が残ってます。この値をクリアしたいんですがどうすればいいんですか。
kbhit()で捕まえたこの値は、stdinじゃないとすれば、どこに存在するのでしょう?
0755デフォルトの名無しさん
NGNGUsing fflush() for input streams especially the standard input stream (stdin)
is undefined and is not supported and will not flush the input buffer.
0756デフォルトの名無しさん
NGNGを発生し表示するプログラムなんですけど、これを参考にして円周率πの値を計算
するモンテカルロシミュレーションのプログラムが作れません。教えてください。
よろしくお願いします!
#include<iostream>
#include<cstdlib>
#define SEED 100000
int main(int argc, char **argv)
{
unsigned int SEED;
unsigned int MAXNUM;
if(argc != 3){
cerr << "USAGE:uniform SEED MAXNUM\n";
exit(1);
}
SEED = atoi(argv[1]);
MAXNUM = atoi(argv[2]);
srand(SEED);
for(unsigned int i =1; i <= MAXNUM; i++){
double x = (double)rand() / (double)RAND_MAX;
cout << i << '\t' << x << '\n';
}
return(0);
}
0757デフォルトの名無しさん
NGNG宿題スレ逝け
0758デフォルトの名無しさん
NGNG新プロセスのIOを無名のパイプで繋げて、パイプの端を読み書きしてみろ。CreateProcess,CreatePipe,WriteFile,ReadFileを参照
0759デフォルトの名無しさん
NGNGほとんどの参考書は知ったかぶりだという事ですね
0760デフォルトの名無しさん
NGNG難しいかどうかは、それを言う人の主観だから、第三者がどうこう言えることじゃない。
だけど、たかがあんなのでめげるようじゃ先が思いやられることだけは間違いない。
^^^^^^^^^^^^^^^^
参考書の筆者の話にすり替わりかけているが、騙されんじゃねえぞ。
0761デフォルトの名無しさん
NGNGだから優しく教えてくんなきゃイヤ。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGkbhitで食い潰すか、rewind呼ぶんだったかな。
BIOSなどのキーボードバッファに残る
0764デフォルトの名無しさん
NGNGhttp://www.matx.org/REFS/node84.htm
標準入力=stdin って思ってる、自分が間違ってんのかな?
rewindでも駄目でした。_flushallでも駄目でした。
そのBIOSなどのキーボードバッファにアクセスするには
どうしたらいいでしょう?
0765デフォルトの名無しさん
NGNGこのスレで答える範囲内では無い。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGでは、どこのスレで質問すればよろしいのでしょう?
>>766
自分はVCで、期待通りの動作をしてくれないので質問してみました。
0768デフォルトの名無しさん
NGNGともかくキーが押されたら元に戻るまで待てばどうだ?
0769デフォルトの名無しさん
NGNG>1は読んだ?
0770デフォルトの名無しさん
NGNGというのは、元々kbhit()というのが、DOS(コマンドプロンプトじゃないよ)で
BIOSコールでキーボード状態を知るためのものだから。
同様に標準出力を用いずにBIOS等で入力/表示するのが、conio.hにある関数群。
互換性のために、Windows環境でも残されている。
そして、これらは、stdio.hの関数群とは関係ないし、同時に使用してもいけない。
0771デフォルトの名無しさん
NGNG//キー押しが来るまで待つ
while(!_kbhit());
//キー押しが戻るまで待つ
while(_kbhit());
0772デフォルトの名無しさん
NGNG今確認してみたんですが、やはり駄目です。
やっぱりgetch()でクリアする以外方法はないんですかね?
皆様ならば、getch()の中身を調べて、どこにアクセスして値を取り出しているか、
とかわかると思ったんです。
0773772
NGNG>>771
なるほど。どうも、レスありがとうございます。
>>770
どうして、そんな事がわかるんですか?
ヘルプ見てもそんな事は一言も書いてなかったです。
何にしても、よくわかりました。
本当にありがとうでした。
0774デフォルトの名無しさん
NGNG喧嘩売ってるとしか思えないな
氏ねや
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG#define aaa bbb
func_aaa();
のようにしてもfunc_bbb()にはなってくれません。
どうすればいいでしょうか?
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGfunc_(aaa)() ;
じゃ不満かい?
0779デフォルトの名無しさん
NGNGこれ知ったかぶり。
前半はともかく、後半がデマ。
実際同時につかうことはよくある(いまでも)。DOSの時代もよく同時につかわれていた。
0780デフォルトの名無しさん
NGNGpopen関数を使う。
0781デフォルトの名無しさん
NGNG同時に使用できない、或いは使用すると不都合がある関数はいくつもあるよね。
それをデマボーグと言うのは言いすぎだと思うけど。
#つーか、未だに使っているのか ┐(´・ω・`)┌
0782デフォルトの名無しさん
NGNG>1を読んだ上で、適当なスレへどうぞ。
【初心者歓迎】C/C++室 Ver.13【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1104843249/
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
http://pc5.2ch.net/test/read.cgi/tech/1098817686/
http://pc5.2ch.net/test/read.cgi/tech/1101931660/
0783デフォルトの名無しさん
NGNGうまくいきません。どこに問題があるのでしょうか?
while (1) {
fgets(text, 256, stdin);
if ((strcmp(text, ekey)) == 0 )
break;
fprintf(fp, "%s", text);
}
/* char text[256];
char *ekey = "//end" */
0784デフォルトの名無しさん
NGNGfgetsは改行文字'\n'も格納する
0785783
NGNG即レスありがとうございます、助かりました。
0786デフォルトの名無しさん
NGNGどの関数が何回呼ばれたかわかる、又はそれに類似した関数って無いですか?
0787デフォルトの名無しさん
NGNGstatic int c;
#define printf c++,printf
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG関数全てにstaticなカウンタを設けないと。
0790デフォルトの名無しさん
NGNGこれ、ありがたく使わせていただきます。
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGコンパイラのオプションにクロスレファレンスがないか?
最適化時に結構使えるぞ
0793デフォルトの名無しさん
NGNG>デマボーグ
サイボーグの親戚か?
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGprofilerを使え!
0796デフォルトの名無しさん
NGNGconio と stdio が連携してない時点でクソリブの烙印くれたい
0797デフォルトの名無しさん
NGNG変数のことですか?
*(int *)0
は左辺値ですか?
0798デフォルトの名無しさん
NGNG非定数のこと
変数も含む
0799デフォルトの名無しさん
NGNG左辺値(lvalue)は、代入の左側に来る式のこと。
0800デフォルトの名無しさん
NGNG>は左辺値ですか?
びっくりするだろうけど、
これも左辺値だよ。
キャストで代入可能になったからね。
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNGint a[10];
*(int *)a;
これは左辺値ですか?
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG(int)i = 1;
これは左辺値ではありません。
0806デフォルトの名無しさん
NGNGは左辺値ですか?
0807デフォルトの名無しさん
NGNGその通りです。
左辺値は変数だけとは限りません。
enum {
FALSE, TRUE
};
*(int *)FALSE = 1;
これも左辺値です。
0808デフォルトの名無しさん
NGNGそれも左辺値です。
0809デフォルトの名無しさん
NGNGこれも左辺値ですか?
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG左辺値ではないです。
*(int *)-2["hoge"+3]
などとすれば左辺値になります。
>>810
嘘でした。
0813デフォルトの名無しさん
NGNG-2[muha+3]
なら左辺値ですか?
0814デフォルトの名無しさん
NGNG単項の'-'が最後に入るので左辺値にはならないよ。
交換法則を適用しても
-(muha+3)[-2]
という意味なので。
0815デフォルトの名無しさん
NGNG連携してたらこまるだろ! ぼけ
連携してないから同時に使えるんだよ
0816デフォルトの名無しさん
NGNGだった。
0817デフォルトの名無しさん
NGNGというのも嘘でした。
int x;
-x
が左辺値じゃないのと同じ理由です。
0818デフォルトの名無しさん
NGNG連携の意味が通じてないらしいな
頭悪スレで吠えてろ
0819デフォルトの名無しさん
NGNGありがとうございました。
0820デフォルトの名無しさん
NGNG点呼してください。
0821デフォルトの名無しさん
NGNGごめんごめん、パパの言い方が悪かった、だから良い子にしててね
0822デフォルトの名無しさん
NGNGレスありがとうございます。
func_aaa()
fooo_aaa()
hoge_aaa()
という形の関数がかなりの数あって、それを
#define aaa bbb
で一度に置き換えたいと思ったんですが、
こういうことは無理ですか?
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG無理ですか?なんて言っている暇があったら、
もうチョット頭を使ったプログラムを作れ。
0826デフォルトの名無しさん
NGNG器の小ささを露呈してろ
0827デフォルトの名無しさん
NGNGダウンロードしてきました。VC++用に、Makefile.vsと
jconfig.vsをそれぞれ、Makefile とjconfig.hに名前を変更して、
VC++上でメイクファイルプロジェクトを作成してlibjpeg.libを作成しました。
しかし、このlibjpeg.libを他のプロジェクトでリンクしても
関数名が見つからず、エラーLINK2019になってしまいます。
このライブラリをVC++で使用するために行うことがあればどなたかご教授
願えれば幸いです。
0828デフォルトの名無しさん
NGNGスレ違い
0829デフォルトの名無しさん
NGNGextern "C"
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNGたとえば、isalpha()を使うために
#include <ctype.h> /* isalpha() */
をソースに追加したとします。
ソースをいろいろいじっているうちに、最終的にisalpha()が消えたとき、
この#include <ctype.h>を消し忘れるのでは?と不安になります。
0833デフォルトの名無しさん
NGNGソースファイル内で全く使われていないヘッダとの関連を指摘してくれるような
0834デフォルトの名無しさん
NGNG貴様の作業記憶に残っているはずだろ
0835デフォルトの名無しさん
NGNG気がついたら消す。厳密にはそこらへんやってないけど
標準ライブラリのヘッダをインクルードするしないで挙動が変わる糞コードを書かなきゃ無問題。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGあっても使わなければ無視されるし
0838デフォルトの名無しさん
NGNGうかつな環境だと実行形式のサイズが大きくなるものがあるかも
0839デフォルトの名無しさん
NGNGisalphaを使わずに、isprintが使われるようになったかもしれない。
0840デフォルトの名無しさん
NGNGlcは、localeの略ですよね
onvの部分は何の略なんでしょうか?
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGconvがコンバート
0843デフォルトの名無しさん
NGNGbase.h
func_aaa()
fooo_aaa()
hoge_aaa()
#define aaa bbb
#include "base.h"
#define aaa ccc
#include "base.h"
こういう風に使いたいんです。
エディタで置換すると類似コードが増えて保守が難しくなりますよね。
0844840
NGNG(ノ∀`)アチャー
そうでしたか
LC_ALLとかLC_COLLATEとかあるから、てっきりlcとonvが分離しているものかと
でもonvで始まる適当な単語が見つからず困っていました
ありがとうございました
0845デフォルトの名無しさん
NGNGだから>>778の形にエディタで置換すればいいじゃないか
0846デフォルトの名無しさん
NGNGp_cs_precedes関数のcsは、classificationの略なんでしょうか?
classificationは、分類という意味です。
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNGchar p_cs_precedes
負でない通貨量に対して、 currency_symbol または int_curr_symbol が
前に付くか後ろに付くかによって、それぞれ1または0にセットします。
0849デフォルトの名無しさん
NGNGああ・・・
ふたつの単語くっつけてたんだ
csで始まる適当な単語が見つからなかったからなー
p_sep_by_spaceがseparateを略していたから、ひとつの単語を略しているのかなーと思っていたんだがOTL
0850デフォルトの名無しさん
NGNG意味不明
aaa.h
bbb.h
ccc.h
ってしたほうが百万倍保守しやすいが?
0851デフォルトの名無しさん
NGNG関数名だけ変えたって中身は同じだったら、何の意味が…
0852デフォルトの名無しさん
NGNGおそらく違う
0853デフォルトの名無しさん
NGNGbase.hの関数が多い場合エディタで置換すると
#define func_aaa func_bbb
#define fooo_aaa fooo_bbb
#define foge_aaa foge_bbb
#define fero_aaa fero_bbb
#include "base.h"
#define func_aaa func_ccc
#define fooo_aaa fooo_ccc
#define foge_aaa foge_ccc
#define fero_aaa fero_ccc
#include "base.h"
という風になって、類似コードが増えて保守が難しくなると
いう問題は解決しないように思います。
>>850
aaa.h
bbb.h
ccc.h
とするとそれぞれのファイルに
func_aaa
func_bbb
func_ccc
の関数があってひとつ修正すると残り2つも同じように
修正しないといけなくなります。
0854デフォルトの名無しさん
NGNGすればいいやん
0855デフォルトの名無しさん
NGNG別に同じようなヘッダが複数でなくとも、
プロトタイプと関数の実態定義が別々になってるだけで
追加と削除でいちいち2カ所の修正が手動になるよな
これは統合環境で自動管理できる場合もある
もし統合環境がサポートしない自動管理が必要になったら
そういうツールを自分で作ってはどうかな
0856デフォルトの名無しさん
NGNGしなくてもいいやん
0857デフォルトの名無しさん
NGNG何をやりたいのかいまいち伝わってこないんだけど、
関数ポインタを含んだ構造体でも作れば解決しそうな予感。
0858853
NGNGvector.h
typedef struct _vector_typename
{
typename *ptr;
size_t size;
size_t reserve;
}vector_typename;
vector_typename* vector_typename_create(size_t size);
void vector_typename_destroy(vector_typename *p);
void vector_typename_size(vector_typename *p, size_t size);
main.c
#define typename char
#include "vector.h"
のように使えないものかと考えてたんですが...。
0859デフォルトの名無しさん
NGNGttp://robotics.me.es.osaka-u.ac.jp/~masutani/Jouki2001/Kadai/kadai3.html
ここにある、波紋やn度の回転のアルゴリズムを参考にやってみたのですが、うまくいきませんでした。
どのようにやればうまくいくのか誰か教えてください。あと、なんか、面白い画像処理のアルゴリズム
があったら教えてください。
0860デフォルトの名無しさん
NGNGgoto 宿題スレ;
0861デフォルトの名無しさん
NGNGどのように表示したらいいですか?
0862デフォルトの名無しさん
NGNGcreate/destroy/sizeの関数を vectorライブラリに渡して
ライブラリ中からそれらの関数を呼ぶ形にするのが定石かな。
そうしておけば名前が変わっても(関数のインタフェースが変わらない限り)
問題ないし。
0863デフォルトの名無しさん
NGNGでも本体の方ではそれぞれ定義してんだろ?
だったら .h に切り出してもさほど労力に違いがあるとは思えない
0864デフォルトの名無しさん
NGNG^2は2進数の00000000000000000000000000000010とのビット単位での排他的論理和
Cには2進数表記はない(欲しいけど)
0865デフォルトの名無しさん
NGNG16進表示を見て頭に01の羅列が思い浮かぶし
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNGあの似顔絵ウィザードも含めて、HomeStyle+ って
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.NET Framework で書かれてるんですね。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
逆アセンブルしてみたら気づきました・・・・。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ああいうのを作品に組み込むのも面白いかも(笑)
MSの製品を逆汗するような奴をMSはMVPに選んでいるんです。MSは逆汗を認めていると
0868デフォルトの名無しさん
NGNGこいつぼけ。intが32bitである保証はどこにもない。
0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG0 xor 1 == 1 xor 0 == 1
なる二項演算子xorを排他的論理和と言う。
0872デフォルトの名無しさん
NGNG右端にいる場合も同様。でも、棒の両端にハエがとまっているときには、結局両方逃げて
しまいやっつけられるのは0匹である。また、棒のどちらの端にもハエがいないときには
あきらかに0匹。
0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG誰か食いつくと思ったが
お前だったか・・・ 落 ち ぶ れ た な
0877デフォルトの名無しさん
NGNGろんりろん?ばか?
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGその例えは初めて見たな…
俺は「繰り上がりを無視する足し算」と覚えたけど
0 xor 1→0+1 = 1
1 xor 0→1+0 = 1
0 xor 0→0+0 = 0
1 xor 1→1+1 = 0 (繰り上がった1は無視)
0880デフォルトの名無しさん
NGNGXORの場合は「繰り上がる」わけじゃあない。
そういういいかげんなことを言うから、新人がウソを信じちゃうんだよ。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG>と覚えたけど
いい加減もくそもねえだろ
必死すぎる姿が滑稽だぞ
0883デフォルトの名無しさん
NGNGたとえなわけねーだろ...ネタだよ! 有名な。
背理法の歌と同じぐらい古いネタだ。
0884デフォルトの名無しさん
NGNG覚え方の問題で別に事実がどうかには言及してないだろ
って書こうと思ったら>>882に先を越された_| ̄|○
0885デフォルトの名無しさん
NGNGごまかし方が必死だな
0886デフォルトの名無しさん
NGNGは?
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGひっしだな
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNGtypenameをcharやintなどに置き換えると構造体の中のポインターの型が
変わるので、各関数の引数と戻り値の型も変わってしまい
関数のインタフェースも変わることになります。
>>863
本体の方もこんなかんじで使えないかなと思ってました。
#define typename char
#include "vector.h"
#include "vector.c"
0892デフォルトの名無しさん
NGNGふふふ
0893デフォルトの名無しさん
NGNGvoidって知らない?
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNGvoidつかっても解決しないだろ? > 893
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG書きますか?例えばiが12で割り切れる場合とかは?
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGi%12でいいんですか?
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG実行してみたらうまくいきません。
もしiが12で割り切れるならこの処理をするっていうのは
if(i%12){
}
でいいんですか?
0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNGiが12で割りきれる数だったとして、i%12はどうなるか考えてみよう。
if (exp) {
foo;
}
があったとして、fooに到達できるのはexpがどのような値であればよいのか考えてみよう。
これら二つの結果を総合して、問題を解決してみよう。
# てかきくまえによく考えてみろよな…
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNGを使えばいいんだよ
0908デフォルトの名無しさん
NGNGmain関数に戻るようにしたいのですが、なんと書けばよいのでしょうか?
void readtext(FILE *fp, char **text1)
{
char buf[256];
if (fgets(buf, 256, fp) == NULL)
/* ここにはなんと書けばよいでしょう? */;
buf[strlen(buf) - 1] = '\0';
*text1 = malloc(sizeof(char) * (strlen(buf) + 1));
strcpy(*text1, buf);
}
0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNGで、mallocがNULLを返したときはみてあげないのね ;-)
0911908
NGNGすいません、何をリターンすれば良いでしょうか?
いくつか試したのですが、実行エラーになってしまって・・・
0912908
NGNGreturn; else {
でも実行エラーになってしまい戻れません^^;
何か他にも記述するものがあるのでしょうか?
お手数をかけますが、よろしくお願いします・・
0913デフォルトの名無しさん
NGNGelseの前の{ }が閉じてない文法エラー。
0914デフォルトの名無しさん
NGNGreturn;
だけでいい
0915908
NGNG一応↓のようにしまして、コンパイルは問題ないようです。
ただ、実行するとreturnのとこでやはりエラー終了してしまいまして・・。
void readtext(FILE *fp, char **text1)
{
char buf[256];
if (fgets(buf, 256, fp) == NULL)
return;
else {
buf[strlen(buf) - 1] = '\0';
*text1 = malloc(sizeof(char) * (strlen(buf) + 1));
strcpy(*text1, buf);
}
}
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG{
char buf[256];
if (fgets(buf, 256, fp) != NULL)
return strdup(buf);
}
こう書くのがふつう。第2引数はまぬけ
0919デフォルトの名無しさん
NGNGむしろこうだな。
char *readtext(FILE *fp)
{
char buf[256];
if (fgets(buf, 256, fp) == NULL)
return NULL;
return strdup(buf);
}
0920デフォルトの名無しさん
NGNG>return strdup(buf);
・・・
0921デフォルトの名無しさん
NGNG0922908
NGNGありがとうございます。
そうですか・・・、そうなるとmallocは同じ関数内では処理できないのですね。
できれば一緒に処理したかったのですが・・
>>917
main関数内ではしているのですが・・引数として渡した先の関数内でも
fopenするのですか???
0923デフォルトの名無しさん
NGNGついでに言えば>917もボケ。
更にsizeof(char)もボケ。
おまけにエラーの内容を書かない>908が一番のボケ。