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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:14:51 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.46【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1198755167/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

830 名前:デフォルトの名無しさん [2008/02/03(日) 13:51:38 ]
c++で、int [] hoge(適当な引数)
みたいに、配列を返す関数って定義できますか?
上記はできなかったので、結局int []を持つstructを定義して、それを返すように
したのですが、、

831 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:54:14 ]
普通は効率を考えて配列を渡してそこに書き込むようにする。

832 名前:824 mailto:sage [2008/02/03(日) 13:54:51 ]
>>828
そうなのですか。一つ大きな疑問が解決しました。
ありがとうございます。

>>829
勉強してみます。

833 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:58:36 ]
>>827
関数でも、関数定義を複数書けばエラーになるよ。
エラーにならないのは関数定義は1つしか書いてなくて、
他は関数プロトタイプしか書いてないから。

834 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:30:12 ]
>>825
うそん。
>extern はリンク時の多重宣言を回避するための物。
多重宣言どうこうっていうか、外部結合を明示するだけの物じゃないのか?
そもそもC言語って定義で無い宣言は複数回しても良いんじゃなかったっけ?

突っ込み入らないってことは俺が誤解してるんだろうか。

835 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:37:54 ]
>>834
>そもそもC言語って定義で無い宣言は複数回しても良いんじゃなかったっけ?
そのとおりだよ。
extern指定子の無い宣言は仮の宣言。
コンパイル単位に定義が見つかったら、仮の宣言は冗長な定義として
無視される。そうでなければ0で初期化される単一の定義になる。

と思ってる。

836 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:38:09 ]
C は仮定義があるから初期化しなけりゃ
複数の記憶クラス指定子のない変数宣言があっても大丈夫。
C++ は仮定義が廃止されたので
複数の記憶クラス指定子のない変数宣言があるとエラー。

837 名前:デフォルトの名無しさん [2008/02/03(日) 14:40:39 ]
gcc用で配布されているコードを,
VisualStudio2005でコンパイルしたところ,
エラー 1 error C2143: 構文エラー : '{' が ':' の前にありません。 c:\program files\microsoft visual studio 8\vc\include\cmath 18
エラー 2 error C2059: 構文エラー : ':' c:\program files\microsoft visual studio 8\vc\include\cmath 18

といった無数のエラーが出ました.

ちなみにcmathはインクルードしておらず,
#include<stdio.h>

#include<stdlib.h>


#include<math.h>

#include<complex>
だけです.

どなたかアドバイス頂けませんでしょうか?

838 名前:デフォルトの名無しさん [2008/02/03(日) 14:45:22 ]
>>831
ありがとうございます。
参照渡しとかですね。

すいません、あと1つ質問させてください。
stringを継承して、[]をつかって[-1]と[サイズ+1]の要素にアクセスに行ったときだけ
動作の異なるクラスを定義できますか?自分でやろうとしたのですが、コンストラクタ
は継承されないから自分で定義しなおさないとダメなのですよね。そうすると、コンストラクタ
を書くのが結構大変なような気がしたので。




839 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:49:14 ]
>>838
コンストラクタだけじゃなくて演算子だって定義する必要があるんだぜ。
戻り値の型が変わるから。

at 関数を使うと範囲チェックして out_of_range 例外投げるから
それ使えばいいんじゃね?

840 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:51:57 ]
a.exe から LoadLibrary で b.dll を呼び出すんだけど、
b.dll から右側では .NET を使いたい。

 a.exe → b.dll

このような場合、b.dllをC++/CLIで作成することになるのかしらん?

841 名前:デフォルトの名無しさん [2008/02/03(日) 14:54:13 ]
>>839
なるほど、それでやってみます。
サンクス!


842 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:58:05 ]
>>838
stringは仮想デストラクタを定義していないから
public継承するのはどうかと思うけど、コンストラクタ
の呼び出しに関しては、stringのコンストラクタ
を派生クラスのコンストラクタ初期設定リストで
指定すればいいだけじゃないの。


843 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:58:47 ]
>>840
a.exeからC++/CLIでどぞ

844 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:01:44 ]
>>840
C#でもVB.NETでもお好きにどうぞ

845 名前:840 mailto:sage [2008/02/03(日) 15:16:22 ]
>>843
a.exeは他所で作ったものだから、漏れはいじれないんだ。

>>844
LoadLibraryでもマネージDLLを呼び出すことができるってこと?

846 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:31:59 ]
>>808>>809>>812
返答ありがとうございます

色々とやり様があるみたいですが、c++的にはやはり生の配列を返すよりコンテナを返したほうがよいのでしょうか?
そうするとやはりlistを引数に取る関数に参照渡しが無難なのかなぁ・・・?

847 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:33:16 ]
class Hoge1
{
 void hatena(void)
 {
  Hoge2 ht;
  ht.nazo(*this);
 }
};

class Hoge2
{
 void nazo(const Hoge2 &rho){}
};

みたいなのがあって

ht.nazo(*this);のところでエラーになります。

どうす

848 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:36:10 ]
>>847
nazo(const Hoge1・・・にす



849 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:37:13 ]
&rho

850 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:37:17 ]
>void nazo(const Hoge2 &rho){}

nazoは引数にHoge2を取るようだが
thisポインタってhoge1のアドレスを示してるんじゃないの?

851 名前:837 mailto:sage [2008/02/03(日) 15:38:34 ]
>>837
の質問はVC++スレに書き直しました.
マルチポストすいませんでした.

852 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:41:31 ]
Hoge &rho

853 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:41:53 ]
化けるのね。

854 名前:デフォルトの名無しさん [2008/02/03(日) 15:42:31 ]
hoge piyo fuga

855 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:45:11 ]
&

856 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:46:57 ]
&a

857 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:51:34 ]
&rh

858 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:53:17 ]
&abcd



859 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:55:04 ]
&rho

860 名前:デフォルトの名無しさん [2008/02/03(日) 18:14:16 ]
なぜか、参考書どおりにコードを打ち込んだのに実行結果が違ってしまいます。

#include <stdio.h>

int main(void)
{
int i, j, ln;

printf("何段ですか:");
scanf("%d", &ln);

for (i=1; i<=ln; i++); {
for (j=1; j<=i; j++)
putchar('*');
putchar('\n');
}

return (0);
}

ちなみにOSはVistaです。どこか違っていたら教えてください。



861 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:19:32 ]
for (i=1; i<=ln; i++);

これ。
「;」という何の処理もしない文をforでループさせることになってる。

862 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:21:39 ]
>>860
正解が何か知らんからわからんが
改行の位置がおかしいんじゃないか?

863 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:23:03 ]
>>861
スマソ
そうだね
改行は問題ないわ

864 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:23:08 ]
test

865 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:25:57 ]
>>860
>参考書どおりにコードを打ち込んだのに実行結果が違ってしまいます

このスレを見ている人はその参考書のことなんてしらない。
どのような結果を求めているのかを提示しないと、どこが違っているのか答えられないよ。

明らかにおかしいコードだから答えは>>861の通りだろうけど、もうちょっと質問の仕方を考えたほうがいいよ。


866 名前:デフォルトの名無しさん [2008/02/03(日) 18:26:15 ]
>>861
サンクス
無事実行できました。

867 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:26:28 ]
861に書かれていることと
その下の行の { が足りないことで
たまたま{ }の対応がうまくいってコンパイルは通ってるんだな。
なので2ヶ所修正

868 名前:デフォルトの名無しさん [2008/02/03(日) 18:26:51 ]
C言語でのアルゴリズムの質問をさせて下さい。

現在以下のようなプログラムを作ろうと思っています。

0〜65535までの数字をIDとしてユーザに割当てる。
ユーザが割当てられたIDを使わなくなったときはそのIDを返却し、
返却されたIDは回収されて他のユーザに割当てられる。

最も簡単なやり方は、user_id[65536]などの大きな配列を作って、
使用状況を配列の中身の0か1で判断する、といったものかと思います。

しかしこのやり方よりもっと効率的なものはないでしょうか?
このような大きな配列を作るのは実装としてまずいのかな…と感じています。

初心者で申し訳ありませんがアドバイスよろしくお願いします。



869 名前:867 mailto:sage [2008/02/03(日) 18:27:59 ]
あ、違った。
ごめん

870 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:29:28 ]
とはいえ入門書で{}略すのはイクナイと思う。

871 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:29:56 ]
>>868
64Kなら、オンメモリで処理してもいいんじゃね?
ビットで処理したら、8Kで収まる。

872 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:31:50 ]
>>868
更に上限を増やさなければならない可能性があるなら、
別のやり方を考えたほうがいいと思うけど、
それぐらいなら問題ないと思うね。

873 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:32:16 ]
>>870
ぜんぜんOK

874 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:36:59 ]
>>868
その、配列やり方でいいと思うよ。
ランダムに返却され再利用されるならそれしかない。>>871のようにビットマップで配列は小さくできる。

連続の範囲でとりますとか特徴があれば、それを使って効率的に管理することもできる。



875 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:37:36 ]
ある静的メンバ変数を含むクラスをテンプレート化しました。
この場合、静的メンバ変数は、テンプレート引数ごとに別々の実体が
作られるということで、このことは確認できました。
で、質問なのですが、この静的メンバ変数の初期化は、
いつ行われるのでしょうか?
テンプレート化してない場合は、mainが始まる前ということで、
これは手元の本にも載っているのですが、
テンプレート化した場合、実際にどんなテンプレート引数で
クラスが作られるかわからない段階で初期化ってできるのか、と
思ったものですから。
実際、mainの最初で、静的メンバ変数の値を見てみてみても、
なぜかちゃんと初期化した値が入っているように動きます。
なぜなのでしょうか。

876 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:41:47 ]
コンパイル終わったときにはわかってるから。

877 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:43:13 ]
テンプレートはビルド時に、
初期化コードも含めてすべて実体化されるだろ。

878 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:44:51 ]
>>876
>>877
むむむ、そういうことですかーーー。
考えが至りませんでした。
ありがとうございました。



879 名前:868 [2008/02/03(日) 18:56:06 ]
>> 871,872,874

アドバイスありがとうございます。
特に問題がないようですので、このやり方で続行します!

880 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:14:04 ]
C++だとbitsetでやるのが楽なんだろうけどな

881 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:20:13 ]
それだとフリー探索がO(N)になるから、vector<unsigned short>(65536)という
手もよくあるパターンではある。

882 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:23:17 ]
set<>は使えんの?

883 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:24:46 ]
>>881
なんでunsigned shortなの?

884 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:32:59 ]
intよりは節約できるし、IDは0〜65535なんだろ?

885 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:37:16 ]
サンプルコード見ながら勉強してるのですが

this->SizeGripStyle = System::Windows::Forms::SizeGripStyle::Hide;
#pragma endregion
private:

の、->、::、#、:、の意味がよくわかりません
調べたいのですが、記号はGoogleで検索できないので、この記号の名称を教えてください


886 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:42:26 ]
サンプルコードを見る域に達してないな

887 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:45:39 ]
だから質問しているんです

888 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:45:51 ]
それどころか勉強すら始まってないな



889 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:46:37 ]
なんか本買えよ。
というか、そんな変態言語じゃなくて、普通のC++から勉強しろ

890 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:50:40 ]
>>887
無料で見れる情報、無料で協力してくれる人だけをあてにして勉強する気?

独学で身につけるだけの基礎的な力をもっているならまだしも、
まったく何も持っていないなら勉強するための最低限の準備くらいはしたら?

891 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:52:27 ]
>>885
何でも良いからCの入門書を読んでからにしようぜ


892 名前:デフォルトの名無しさん [2008/02/03(日) 20:00:57 ]
質問ていうか相談なんだけど
TXTファイルの文字列置換ツール作たいんだけどさ
置換箇所だけ更新かけたいんだよ
でもさ、fopenでファイル開くと一箇所変えると全部上書きしないといけないじゃん
置換箇所だけ更新かける方法ない?

893 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:07:34 ]
C++/CLIの文法はアレだからなー。

894 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:07:49 ]
一旦、別のファイルに書き出す。
その後、元ファイルを削除し、
さっき書き出したファイルの名前を元の名前に変える。

895 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:08:21 ]
文字数変わらないなら、fseekとかfwriteあたりを駆使して
上書きすりゃいいじゃん。 ずれるのならご愁傷様。

896 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:29:30 ]
>>892
ファイルの途中でサイズが増減しても、局所的な更新だけですむような
ファイルシステムを実装する。

897 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:08:44 ]
>>874
> ランダムに返却され再利用されるならそれしかない。

そんなことはないだろ。

組み込み用途だと、8KB なんて言うテーブルなんてとんでもないと言う
こともあるだろうし、PC でも ID を 32bit にしたいとか言われたら、
どうするんだよ。(w

>>868
ID の範囲に比べて、同時使用ユーザ数が極端に少ないなら普通にリニア
サーチして管理することもできるし、同時使用ユーザ数がそれなりで
ID の割り当て・回収の処理コストが問題になるならハッシュとかBツリー
を使うこともできる。

898 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:09:38 ]
stl::map<stl::string, Animal> animals;
Animal &a = animals["cat"];

この時点で、aに入る物は出来ていますか?



899 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:13:50 ]
stlの定義による。
stlがstdの間違いなら、aは正しく要素を指している。

900 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:16:27 ]
>897
「何」を、リニアサーチするんだ?

901 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:16:42 ]
>>897
また組み込み厨がでたよ。
特殊な環境を持ち出して、いちいち反論するヤツ。

902 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:25:25 ]
>>897
ランダムに返却されれば、2^65536の組み合わせが発生する。それを記録処理するには65536bit必要になる。すなわち8Kバイトだ。
それ以下にするには、IDの消費が均一ではなく偏らせる必要がある。
たとえば、連続してIDを取得する。そういう特徴があれば、それに応じた処理にして節約すればいい。しかし、それはランダムとは言えない。


903 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:29:51 ]
>>897
どこに極端に少ないと書いてある?

904 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:31:54 ]
その次に「なら」ってかいてあるがな

905 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:33:18 ]
>>884
いまさらだけど、配列の中身は0か1って書いてあるんだからshortは必要ないだろ

906 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:34:05 ]
そこかしこのレスから揚げ足を取りたがってるオーラを感じるのは俺だけでいい

907 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:34:51 ]
文章構成がアレだね。
前半は、「パターンがランダムでも、メモリ8KBも取る必要はない」って言ってて、
後半は、「パターンがランダムでなければ、節約する方法がある」みたいな。

908 名前:881=884 mailto:sage [2008/02/03(日) 21:37:43 ]
えと、つまり、vectorのvがあるとして、
初期値として、(65535〜0)を入れとくわけね
で、こうするとO(N)で触れる、ってだけの話。
要求(){ return v.pop_back() }
解放(id){ v.push_back( id ); }



909 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:41:34 ]
それ O(N) じゃなくて O(1) だろ。

解放でデタラメな id 食わされたら死ぬとか言う問題もあるかもね。

910 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:43:20 ]
あーそうそうO(1)だね。
でたらめなIDって言っても、if文一発で済むでしょう。
同じIDが複数解放されてきたららドナノヨって話は知らない。

911 名前:883=905 mailto:sage [2008/02/03(日) 21:47:39 ]
>>908
大きな配列の変わりにvector使うのかと思ってたw

同じIDのチェックまでするならsetの方がよさそうだな

912 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:01:19 ]
Cでbool型って使えたっけ?

913 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:04:18 ]
>>902
もちろん、同時利用者数が最大 65536 と言うなら、ビットマップの方が
効率がいいのは自明だけど、>>868 が「そんな大きな配列」とか書いて
るから同時利用者数はそれほどじゃないのかも知れないと思っただけの
こと。

914 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:09:43 ]
同時利用がたとえば30なら、IDを65535も用意しとく必要無いじゃん。

915 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:26:06 ]
>>890
いいえ違います
ほかの単語は検索すればわかる、だけど記号は検索できないから質問してるの
検索できない単語が他にも沢山あるならまた質問しまくるかもしれませんが
幸い、検索不可能な記号はこれだけのようなので質問しました

>>891
手持ちの入門書には「System::〜と書けばこう動く」という記述はあったが
「::は〜という意味です」という記述はなかった

916 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:26:54 ]
>>915
もうちょっとまともな本を買うべきです。

917 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:30:37 ]
入門書どころか入門サイトにも名前つきで紹介されている件について。

918 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:31:15 ]
>>915
いいから、独習Cと独習C++あたりでも一通り読んできなさい。



919 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:35:38 ]
>>915
>>918の言うとおりだが、立ち読みは迷惑なのでちゃんと買おうな。

920 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:37:49 ]
つうか碌に参考書やサイト読み込んでないのバレバレじゃん

921 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:39:07 ]
大漁大漁^^

922 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:39:47 ]
今時釣り宣言とかwww

923 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:43:09 ]
ファイル書き込みについての質問なんですが
#include <stdio.h>
typedef struct{
char no[6];
char name[21];
int tanka;
}SHOHIN;
void main(void)
{
int i;
SHOHIN shohin[5];
FILE *fp;
if((fp=fopen("shohin.txt","w"))!=NULL);
{
for(i=0;i<LEN;i++){
printf("商品番号、商品名、単価\n");
scanf("%s,%s,%d",shohin[i].no,shohin[i].name,&shohin[i].tanka);

fprintf(fp,"%s",shohin[i].no);
fprintf(fp,"%s",shohin[i].name);
fprintf(fp,"%d\n",shohin[i].tanka);
}
fclose(fp);
}
return;
}
文字化けが起きてうまくいきません
例えば a,a,1と入力すると
a,a,11245072
となってしまいます
単純なミスだと思うのですがどうか教えてください!
コンパイラはbcc55を使用しています

924 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:46:09 ]
>>923
<scanf("%s,%s,%d",shohin[i].no,shohin[i].name,&shohin[i].tanka);
>scanf("%s,%s,%d",shohin[i].no,shohin[i].name,shohin[i].tanka);
こうするとどうだ

925 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:46:48 ]
>>923
次の二行を削除(もしくはコメントアウト)してみな
fprintf(fp,"%s",shohin[i].name);
fprintf(fp,"%d\n",shohin[i].tanka);

926 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:48:33 ]
>>924
同じでした・・・

927 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:49:37 ]
,の認識どうなってんだろうね

928 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:50:22 ]
>>925
文字化けが消えました!
どうもありがとうございました!!!



929 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:52:00 ]
>>914
将来の拡張のために ID の範囲は余裕を持っておく

ぐらいのことは普通にあるだろ。


930 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:53:40 ]
>>928
そうじゃなくて %s でひと続きの文字列として shohin[i].no 以下に格納されてるだけってのを見て欲しい






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

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

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