格納する場所をCString型にするのですか?
数字は大きさが与えられてない、文字として扱われるもの。
数値は、大小が与えられ順序が想定でき、また、場合によっては計算が可能なものです。
>>データの中身は9.352675144624524e+001、こんな感じのが256*256あります
さっきから失敗ばっかでまじでわかりません;;本当に誰か教えてください
お願いします・・
>本当に誰か教えてください
NEG(ねぐ)さんのアドバイスは参考になりませんか?
でもデータの中身は9.352675144624524e+001が256*256ですから
doubleでは読めませんよね・・
CFile* fp = ar.GetFile();
int i;
double *tmp;
tmp = CCC;
for ( i=0; i<IMAGEDATA_SIZE; i++, tmp++)
{
ar.Read( tmp, sizeof( double ) );
}
となるとdouble型ではないのにしたいのですが検討がつきません・・
まじめな話です。
今のあなたのレベルではこの問題は解けません。断言します。
(解けないことそのものや、
あなたのレベルがまだそこまで達していないことを批判するつもりはありません,
誰もがみな、最初はそうなのです)
で、ただ単に解答(のソース)が欲しいだけなら、
ソフトウェア会社に発注しましょう。
先生から出された問題文をそのまま見せて、
「これを解くC++のソースを作ってください」と。
会社によって金額(数万~数十万??)は異なるでしょうが、そうすべきだと思います。
そうではなく、あなたがきちんと理解した上で、
この問題が解けるようにしたいのであれば、
あなたがわからないことを、わからないと認める必要があります。
たとえば、数字と数値についてですが、
実際にCやC++を使っている人であのように答える人はいません(多分...)。
あれは、一目で本から写したことがわかります。
あれは定義であって(微妙に間違ってるような気もするけど...)、
あなたがどのように理解しているかを示すものではないからです。
で、どうすればいいかというと、
あなたは数字と数値, 或いは文字, 文字列というものを
きちんと理解していない, わかっていないわけですから、
そこからきちんと学びましょう。
(失礼ながら、わかっているとはとても思えません,
本当に、本当にわかっていらっしゃいますか?)
時間はかかるかもしれませんが、
それでもこれより早い方法はないように思います。
時間がない, 急ぎ, 云々であれば先に書いたように
業者に発注してください。
ここは、解答を示す場ではなく、
質問者を解答へ導く場、いわば、
質問者(その他大勢の読者(「回答者」含む))の学びの場なのですから。
# επιστημηさんのいう
# - 予想外の結果(そのときの入力/期待値/実測値)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^
# これは、非常に大切なことなのですが...
# ※ 書く際にはすべての値に型(char,int,float,doubleのいずれかのみ)を明記すること
# ※ 文字列の場合は で括った方が、よりよいかな...
## まるで管理人さんのようで
## でしゃばりすぎたかもしれません
## 批判ありましたら以後やめます
>とんきち
ホットメールとかでいいからメアド晒せ。
状況によっちゃやってやるよ。
っていうか、過去ログよんで調べろよ。
迷惑してんだよ、みんな。それにきづけ。
>9.352675144624524e+001
この値使って何するの値の内容は関係ないんでしょ
ここまでスレッド眺めてましたけど
ただ単純にデータのreadが出来ればいいんでしょ
だったらchar で1バイトづつ読めば・・・
そうすりゃ アスキーもバイナリーもデータの長さも何も関係なく
読めると思いますけど
(9.352675144624524e+001)このサイズ*256*256 分領域とって
格納すればいいんじゃないの
これで何の問題ありますか
ちなみにアスキーファイルと言う場合MS-DOSが基本として扱える
アスキーコード(JIS8)に則ったコード体系で構成された
すべてのファイルを指しますよね
つまり中身がテキストであろうが数字の羅列であろうがバイナリーであろうが
MS-DOSが扱えればアスキーファイルって言いませんか?
あなたが理解している「アスキーファイル」と「バイナリーファイル」の違いって
何でしょうか?
だれ?
私の発言に間違いまたは「批判、失礼になるような発言」があると思うのであれば
以下のように「使用上の注意」に書かれているとおり「黙殺するようにお願いします」
>・個人への批判、失礼になるような発言、不快にさせるような発言は行わないで
>下さい。
>また、このような発言に対しては黙殺するようにお願いします。
>あるいは管理人までメールを下さい。
ほかの回答者の方々も、ご参考にあまり熱くならずおんびんに...
9.352675144624524e+001
の様なテキストが改行で区切られて、続くとして
CString str;
double CCC[IMAGEDATA_SIZE];
int i = 0;
while( ar.ReadString( str ) ) {
CCC[i++] = atof( str );
}