C言語なら私に聞いてYO! 49
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGむしろ質問する前にWEBで検索するのが常識だYO!
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行ってYO!
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行ってYO!
コンパイラを探しているなら >>2 を見てYO!
上記を逸した場合の結果は激しく未定義とするYO!
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
前スレだYO!
http://pc3.2ch.net/test/read.cgi/tech/1041127646/
0232デフォルトの名無しさん
NGNG元金と利子だからな
0233デフォルトの名無しさん
NGNG038 #あそこがasokoga
214 #むず痒いmuzugayui
314 #なんでだろnanndedaro
286 #なんだか切ないnanndakasetsnai
↑こんな感じの複数行のテキストファイルがあり、
このファイルを引数で渡すと
数字のみファイルに書きこむプログラム
(#以降はコメントのようにみなす)を
作成していたのですが、変更があって
032 #なんだかnandaka
ne #あそこがasokoga
214 #むず痒いmuzugayui
↑のように数字以外のものがあっても
変換する必要性が出てきました。
今まではisdigit()で済ませていたのですが
それでは2行目の"ne"が弾かれてしまいます。
そこでどのようにすれば#以降を弾きつつ
先頭行の数字以外のデータを書きこむように
できるのかをお教え頂きたくカキコしております。
ほんと厨房で長々と乱文でスイマセソ
5教授お願い致します。。。
0234デフォルトの名無しさん
NGNG書き込むって何に書き込むんだ?
文脈から判断できない
メモリーか?
0235234
NGNG0237236
NGNGstrchrをうまく使って長さを求める。
strcspnを使ってもいいけど
0238デフォルトの名無しさん
NGNG023910000
NGNGとりあえず文字表示するだけとかやってみたわけなの
printf("<HTML>");みたいに。
それをコンパイルしてXREAってトコロにUPしてみたの
だけど・・動かないの・・・EXEをCGIにリネームしてUPしたのに。
・・・・なにがわるいんでしょう・・・??
0241デフォルトの名無しさん
NGNGEXEとか言っているあたりWindows上でコンパイルしたな・・・・
xreaはLinux(CPUはIntel系)だから。
024210000
NGNGこんなん付けていましたが・・・ダメでした・・。
環境はVCなんです。・・うーぬ。
レスありがトン。
0243デフォルトの名無しさん
NGNG024410000
NGNGそれは気付かなかった・・っていうか知らなかった〜
Linux対応にするにはどうすればいいか、わかります・・?
0245デフォルトの名無しさん
NGNGstrtok(バッファの内容を改変してもいいとき)
もしくは strchr(よくないとき)を使う。
>>242
: の後は空白を空ける。
printf("Content-type: text/html\n\n");
>>244
Linux 上でコンパイルする。
0246デフォルトの名無しさん
NGNG他のバッファにコピーするならsscanf(src,"%[^#]",dest);こんな感じかな?
0247デフォルトの名無しさん
NGNG自分とこでLinux環境整えてそこでコンパイル、が一番楽なんじゃないかなぁ…
Cygwin使えばWIN上でLinuxバイナリ作れる?
ttp://www.sixnine.net/cygwin/cygwin-doc/devel/cygwin-to-linux-cross-howto.html
024810000
NGNGまだ遠い道なのかな・・。
0249セグメントフォルト
NGNG実験用に自前鯖つくるか
0250デフォルトの名無しさん
NGNGってか、コンパイルされた状態なの?
テキストソースなの?
0251デフォルトの名無しさん
NGNG実行できるなら何でも。
0252デフォルトの名無しさん
NGNG> C言語で
> それをコンパイルして
0253252
NGNG標準入出力と環境変数にアクセスする機能があれば言語は問わない。
Cで書かれたものならもちろんコンパイルしないとだめ
0254251
NGNG確かにそういう意味かもしれんな...。
>>251 に補足するなら、サーバが許可してない形式のは実行できなかったと思う。
インタプリタ言語なら、もちろんインタプリタがサーバに置いてないと実行できない。
ホームでインタプリタを自前でコンパイルして使うという手もあるが...。
0255デフォルトの名無しさん
NGNGstruct ABC b;
ってすると、なんで a しか定数にならないのー?
型限定子なのに
0256デフォルトの名無しさん
NGNG何がおかしいんだろ・・・
0257困った1 ◆tr.t4dJfuU
NGNG{
int i;
for (i = 0; s[i] != '\0' && i < lim; i++)
{
;
}
if (i == lim)
{
while (i >= 0 && (s[i] == ' ' || s[i] == '\t'))/*�@*/
{
i--;
}
}
return i;
}
�@の条件が常に偽になるのはなぜなのでしょう?
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG・mallocで得た領域でない。
・既にfree済み。
0260デフォルトの名無しさん
NGNG0261困った ◆tr.t4dJfuU
NGNG0262デフォルトの名無しさん
NGNG常に偽になるわけないでしょ。
findposに与える引数を工夫してみな。
0263デフォルトの名無しさん
NGNGそれ以外にも、ポインタとかの使い方間違えてて、メモリ管理がぐちゃぐちゃになってるとか...。
0264デフォルトの名無しさん
NGNG>変数を後ろに宣言する何の必要があるのか?
関数でも変数でも定義や参照の後ろで宣言するのは意味無いし
0266デフォルトの名無しさん
NGNGそれで正常です。
構造体の定義の部分に const をつけても、
その構造体変数を作ろうとした場合に const になるわけではありません。
定義の部分でついでに定義した構造体変数が const になるのです。
常に const になって欲しいんならこんな感じで。
typedef const struct __ABC {int i;} ABC;
ABC a = { 0 };
ABC b = { 5 };
0267困った ◆tr.t4dJfuU
NGNGありがとうございます。
その方向で工夫してみます。
0268デフォルトの名無しさん
NGNG再帰関数を書いたときにauto変数であることを明示するために書いたことがある。
0269デフォルトの名無しさん
NGNG>const struct ABC {int i;} a;
だと
const struct ABC a;
でって、ABCがconstになるわけじゃないですからね。
そもそも、型を定数にしてなんかいいことある?
あえてするなら
struct ABC {const int i;};
かな?
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG#define honyara honya + ra
後は自分で考えませう
0273デフォルトの名無しさん
NGNGんー、簡単なプログラムかいて、色々実験してみたんだけど、
結果は、同じになります。
あんまり悩む事じゃないのかな??
0274デフォルトの名無しさん
NGNGそれは、そんな定義する奴の方が悪いと思うけど。
0275デフォルトの名無しさん
NGNGじゃ↓を試してみ
#define honyara 7 + 11
printf("%d\n",sizeof honyara );
printf("%d\n",sizeof(honyara));
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGそれは同意だが、>>270は、何が違うのか聞いてるので…
0278デフォルトの名無しさん
NGNGだからと言ってそんな変な例を出してどうする。
sizeof 単一式
sizoof(型名)
と言うだけのことだろ。規格書ぐらい読めよ。
0279デフォルトの名無しさん
NGNGなるほど、この場合だと結果は違いますね。
自分の環境だと、
printf("%d\n",sizeof honyara );
これは、15になって、
こちらは、
printf("%d\n",sizeof(honyara));
4になりました。
後者は、sizeof(int)をあらわしてると思うのだけど、
前者はなんだろう?
うーむ、、、、考え中...
0280デフォルトの名無しさん
NGNG>sizoof(型名)
>規格書ぐらい読めよ。
プッ
0281デフォルトの名無しさん
NGNG型名に()が必要と言うのは
#define honyara int
や
typedef int honyara;
の場合
0282デフォルトの名無しさん
NGNGそうか?俺は勉強になる良い例だと思うが・・・
ところで単一式なんて単語定義されてたっけ?
0283デフォルトの名無しさん
NGNGsizeof 7 + 11 は ( sizeof 7 ) + 11
sizeof( 7 + 11 ) は sizeof( 18 )
で、あなたの環境の場合 sizeof 7 も sizeof 18 も4だったって事
0284デフォルトの名無しさん
NGNGつまり、一般的には(typedefしない時などは)、両者は同じであるというわけですか?
正直、わかったような、わからないような。
なんだか釈然としないですょ。
0285デフォルトの名無しさん
NGNGなるほど!
非常によくわかりました。
カッコつけることで、優先順位あげてるわけか。
理解しますた。
みなさん、どうもありがとうございました。
0286デフォルトの名無しさん
NGNGいつでも括弧をつけていれば間違いない。
俺は変数に対してはあまり括弧をつけないけど・・・
0287デフォルトの名無しさん
NGNG要は、honyaraの正体を知ってる時は、どっちを使っても構わないが
honyaraの正体を知らない時は()使えって事
また、honyaraの正体を知ってても変更する(される)
可能性がある場合も()使えって事
0288デフォルトの名無しさん
NGNGつけないとワードとワードが2つ連続して並んじゃってなんか居心地が悪い
hage + sizeof hoge + huge
↑ここに何も無いのがキモイ
0289デフォルトの名無しさん
NGNGsizeof(i++)
のように、変数を変化させる事を書いた場合の
ふるまいって、どうなってるの?
0290デフォルトの名無しさん
NGNGi++の型だけが使われて、iの値は変化しないと
0291デフォルトの名無しさん
NGNG変数の大きさに変数の中身は関係ないんじゃ?
0292291
NGNGどうだろ・・・
0293289
NGNGこれが、保証済みだったら良いけど
未定義や処理系定義だったら怖いでふ…
まぁ
#define i j++
とかアホな宣言しなければ良いんですけどね…
0294デフォルトの名無しさん
NGNGとなってる。
0295デフォルトの名無しさん
NGNGmain()
{
putchar(126);
}
だと ~ が表示される.(~のコードが126だから)
しかし 。 のコードは130のはずなのに,
#include<stdio.h>
main()
{
putchar(130);
}
と打っても結果が表示されません.これに関して,130〜159までが表示されないみたいなんですが,なぜなんでつかー??おせーてくらさい.
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGisgraph()で調べてみたら。
スペース以外の表示可能文字なら0以外を返す。
0298デフォルトの名無しさん
NGNG。 は 161(0xA1) だと思います。
129(0x81) 〜 159(0x9F) はSJISでは2バイト文字用の
文字コードなので、単独では何も表示されません。
0299デフォルトの名無しさん
NGNG0300296
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303レゴ其の二
NGNG#include <iostream.h>
#include<stdio.h>
void main()
{
FILE *fp;
fp=fopen("素数−実行結果.txt","a");
int i, j ,f,n=1000,c=0;
// 1から1000までの数の素数を求める
// i, jはループ変数
// fは一回でも割り切れたら1。
// 一度も割り切れなかったら0。
for(i = 2; i <= n; i++) // i(==2,3,4,..,1000)について調べる。
{
f = 0;
for(j = 2; j < i; j++) // j(==2,3,...,i)で割ってみる。
{
if(i % j == 0) // あるjで割り切れたらfは1。
f = 1;
}
0304レゴ其の二
NGNGcout << i << "は素数です。" << endl;
c++;
}
}
printf("%d個です。",c);
}
素数を表示するプログラムなんですが、
実行結果をテキストファイルに出力するにはどうしたら良いですか?
教えて下さい。御願いします。
ちなみに、コレを実行しても、作成されたテキストファイルは白紙になってしまいます。
0305デフォルトの名無しさん
NGNGprintf( "A=0x%02x\n", 'A' ) ;
0306デフォルトの名無しさん
NGNGtest > hoge.txt
ってしたら、いいんじゃねーか?
面倒くせーから、まともなやりかたは、他の人に聞いてくれ。
0307デフォルトの名無しさん
NGNGお前最悪。
マルチポストかよ。
氏ね。
0308レゴ其の二
NGNG御願いします。
なかなかうまくいかないんです。
0309デフォルトの名無しさん
NGNG0310レゴ
NGNG0311デフォルトの名無しさん
NGNG複数のスレッドに同じことを投稿する違法行為。
知らなかったじゃ済まされないのが犯罪。
0312レゴ
NGNGいえ、あちらの方に、MFC限定と書いてあったので、
書き込んだ後で、違うかも知れないと思って、こっちに来たんです。
だから、他には投稿してないです。
0313デフォルトの名無しさん
NGNGマルチポストと移動の違いが分からない罠。
0314デフォルトの名無しさん
NGNGならそう書けよ……
0315レゴ
NGNGどうしたら、うまくテキストファイルに出力できるか、
教えて下さい。御願いします。
0316デフォルトの名無しさん
NGNGマルチポストが何故いけないのかちゃんと調べておこうな。
>>313
移動はちゃんと移動したと書いてある。
マルチポストと勘違いされるのを防ぐのにな。
0317名無しさん@3周年
NGNG素直に
単位を
落とせ。」
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG>書き込んだ後で、違うかも知れないと思って、こっちに来たんです。
1、書き込む前に確認する
2、移動する時は、必ず、移動すると元スレに書き込んでから移動する
以上、基本ですので憶えて置きなはれ
追記
反省してるならMFC限定スレにも謝っておく事
0320デフォルトの名無しさん
NGNGそれは C++ だが、ここは 「C 限定」 なんだよな。
0321レゴ
NGNGはい、分かりました。
317>>
単位というか、研究室に入れなくなってしまうんです。
0322レゴ
NGNG0323デフォルトの名無しさん
NGNG>>1読んだ?
0324レゴ
NGNG違うけど、言葉的に入ってると思ったんですが。違うのでしょうか?
間違ってたら、すいません。
0325レゴ
NGNGfp=fopen("素数−実行結果.txt","w");
int i, j ,f,n=1000,c=0;
// 1から1000までの数の素数を求める
// i, jはループ変数
// fは一回でも割り切れたら1。
// 一度も割り切れなかったら0。
for(i = 2; i <= n; i++) // i(==2,3,4,..,1000)について調べる。
{
f = 0;
for(j = 2; j < i; j++) // j(==2,3,...,i)で割ってみる。
{
if(i % j == 0) // あるjで割り切れたらfは1。
f = 1;
}
if(f == 0){// iを割り切るjがなかった場合
cout << i << "は素数です。" << endl;
c++;
}
}
printf("%d個です。",c);
fc=fclose("素数−実行結果.txt","w");
と入力したのですが、エラーが出てしまいました。
0326デフォルトの名無しさん
NGNGはっきり言われないとわからないか。
>>1 の 2 行目は呼んだか?
あと、C と C++ は全然別言語だ。
0327レゴ
NGNGもしかして、両方使わないといけないんですかね?
0328レゴ
NGNGはい。
自分で色々調べたり、先輩に聞いたんですけど、
ここまでしか分からなくて。
本当に頭悪くて、すみません。
0329レゴ
NGNG0330デフォルトの名無しさん
NGNGまずfopenとfprintfとfcloseの使い方をおぼえたほうがいいな。
なんでfpにファイルをオープンしたポインタを代入してるのにcoutに出力してんだ?
fpをまったく使わない時点でおかしいと思わないのか?
0331レゴ
NGNGfpに出力ですか?
coutは、使わないんですかね?
初めに素数を表示するプログラムが完成した後で、
テキストファイルに出力出来るようにしようとしたので、
分からなくなったんです。
ちょっと、いじってみます。
■ このスレッドは過去ログ倉庫に格納されています