線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2124
推到 Plurk!
推到 Facebook!

BCB中可以使用C語言嗎

 
033614477
一般會員


發表:10
回覆:8
積分:3
註冊:2006-11-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-27 15:49:24 IP:140.126.xxx.xxx 訂閱
我想在BCB底下 利用C語言下去寫 這樣可以嗎   
我的程式碼如下
ofstream FileOutput;
FileOutput.open("calp.dat",ios::out);
FileOutput<
以下是他出現的訊息[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'

如果可以的話是我哪邊語法出錯 還是要另外再加一個宣告(include)
麻煩各位高手 解答一下3Q

harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-27 17:07:29 IP:211.21.xxx.xxx 未訂閱
1.當然可以用 C 寫
2. ofstream 是Standard C Library
3.[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std' 不是寫的很明白嗎

所以請確定'setprecision'是什麼?您附程式碼看不出來
===================引 用 文 章===================
我想在BCB底下 利用C語言下去寫 這樣可以嗎??
我的程式碼如下?
ofstream FileOutput;
?FileOutput.open("calp.dat",ios::out);
?FileOutput<
以下是他出現的訊息[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'

如果可以的話是我哪邊語法出錯? 還是要另外再加一個宣告(include)
麻煩各位高手 解答一下3Q

------
~§~迷時師渡,悟了自渡~§~
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-03-27 20:13:48 IP:220.131.xxx.xxx 訂閱
1. BCB 中當然可以用 C 語言。
2. 你的觀念錯誤 ios 是 C 給你的。不是 C 給你的。
3. 你應該去看看 ofstream 這個定義是什麼。而你的 setprecision 有沒有 << 這個動作。
===================引 用 文 章===================
我想在BCB底下 利用C語言下去寫 這樣可以嗎
我的程式碼如下
ofstream FileOutput;
FileOutput.open("calp.dat",ios::out);
FileOutput<

033614477
一般會員


發表:10
回覆:8
積分:3
註冊:2006-11-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-03-28 11:21:54 IP:140.126.xxx.xxx 訂閱
所以我的錯誤是來自於 ofstream跟setprecision嗎 可是setprecision不就是給定浮點數的大小而已嗎 還需要其他動作阿


harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-03-28 13:30:51 IP:211.21.xxx.xxx 未訂閱
思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^

#include "iomanip.h"

===================引 用 文 章===================
所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿


------
~§~迷時師渡,悟了自渡~§~
033614477
一般會員


發表:10
回覆:8
積分:3
註冊:2006-11-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-03-28 17:45:38 IP:140.126.xxx.xxx 訂閱

===================引 用 文 章===================
思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^

#include "iomanip.h"

===================引 用 文 章===================
所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿

這位大大的意思是說要加入以上的宣告 但是還是出錯 我再繼續努力看看

暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-03-28 18:11:49 IP:220.131.xxx.xxx 訂閱
你想想你的 setprecision 有說要怎麼做 << 這個動作嗎?
沒有的話,它怎麼懂呢?
就像你沒定義 " " 的操作法。你要它做" " 的動作。它會知道嗎?

===================引 用 文 章===================
思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^

#include "iomanip.h"

===================引 用 文 章===================
所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿

這位大大的意思是說要加入以上的宣告 但是還是出錯 我再繼續努力看看

harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-03-28 18:27:49 IP:59.104.xxx.xxx 未訂閱
我只有看到你[C++ Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'這一行錯誤訊息
還有其他的嗎?我也只看到三行程式第三行還不完整...暗黑兄所說的部分我完全沒看到

===================引 用 文 章===================

===================引 用 文 章===================
思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^

#include "iomanip.h"

===================引 用 文 章===================
所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿

這位大大的意思是說要加入以上的宣告? 但是還是出錯?? 我再繼續努力看看

------
~§~迷時師渡,悟了自渡~§~
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-03-28 23:05:15 IP:220.131.xxx.xxx 訂閱
你不用看到它。
只要看到 error message 就可以了。
比方說 class man 中有 int age; char name[10];
那你的 "<<" 要怎麼”輸出”這是要寫的。
不是拿來就能用的。它這行 error message 就是在說這個
===================引 用 文 章===================
我只有看到你[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'這一行錯誤訊息
還有其他的嗎?我也只看到三行程式第三行還不完整...暗黑兄所說的部分我完全沒看到

===================引 用 文 章===================

===================引 用 文 章===================
思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^

#include "iomanip.h"

===================引 用 文 章===================
所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿

這位大大的意思是說要加入以上的宣告? 但是還是出錯?? 我再繼續努力看看

harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-03-29 01:15:17 IP:211.74.xxx.xxx 未訂閱
[C++ Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'  確實是 include 的問題

基本上如果是如下面這樣也是ok

ofstream outfile;
outfile.open("c:\\calp.dat",ios::out);
outfile << setprecision(6) << 1.23456789 << endl;

我也不知道提問的033614477兄到底有多少錯誤訊息

===================引 用 文 章===================
你不用看到它。
只要看到 error message 就可以了。
比方說 class man 中有 int age; char name[10];
那你的 "<<" 要怎麼”輸出”這是要寫的。
不是拿來就能用的。它這行 error message 就是在說這個
===================引 用 文 章===================
我只有看到你[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'這一行錯誤訊息
還有其他的嗎?我也只看到三行程式第三行還不完整...暗黑兄所說的部分我完全沒看到

===================引 用 文 章===================

------
~§~迷時師渡,悟了自渡~§~
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-03-29 09:27:08 IP:220.131.xxx.xxx 訂閱
那你要看看 setprecision(6) 這個東西產生的是什麼。
因為你說 outfile << .... endl;可以。是因為你後面又加了個數。
它會把它先跟那個數的 type 做”調整”然後再處理。調整後的 type 就是 << 有定義的東西了。

比方說 ShowMessage("hello" " nice" "today" "^^");
這樣是不對的。
可是你去實驗看看。把其中一個字串變成 String("xxx"); 加在裏面。它就會變成可以動作。
PS.要加對地方。你想想這個實驗跟你的問題之間有什麼關係。

char * 並沒有 " " 的運算子。所以無法做加法。
而只要其中有一個變成 String 則會成為 String " " char *.
在 String 中有 " " 的運算子。那就會依那樣下去處理。
處理完後變成 ShowMessage 有沒有可以處理 String 的對應函數?
有就會動作,沒有就不會。就這樣而已。

講到這裏還不明白?建議你去讀一讀基本的 C 的書。
===================引 用 文 章===================
[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'確實是 include 的問題

基本上如果是如下面這樣也是ok

ofstream outfile;
outfile.open("c:\\calp.dat",ios::out);
outfile << setprecision(6) << 1.23456789 << endl;

我也不知道提問的033614477兄到底有多少錯誤訊息

===================引 用 文 章===================
你不用看到它。
只要看到 error message 就可以了。
比方說 class man 中有 int age; char name[10];
那你的 "<<" 要怎麼”輸出”這是要寫的。
不是拿來就能用的。它這行 error message 就是在說這個
===================引 用 文 章===================
我只有看到你[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'這一行錯誤訊息
還有其他的嗎?我也只看到三行程式第三行還不完整...暗黑兄所說的部分我完全沒看到

===================引 用 文 章===================
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-03-29 10:55:15 IP:211.21.xxx.xxx 未訂閱
提問的033614477只提供一個[C++ Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std' 如何延伸到 operator ?

setprecision(int) 是stream manipulater
ofstream << setprecision(6) 是在stream中插入一個函式呼叫,會調用precision(int) member funcation 改變 format state
ofstream << setprecision(6) << xxx 後面作用的<< xxx 跟setprecision(int) 並沒有關係

===================引 用 文 章===================
你想想你的 setprecision 有說要怎麼做 << 這個動作嗎?
===================引 用 文 章===================
===================引 用 文 章===================
那你要看看 setprecision(6) 這個東西產生的是什麼。
因為你說 outfile << .... endl;可以。是因為你後面又加了個數。
它會把它先跟那個數的 type 做”調整”然後再處理。調整後的 type 就是 << 有定義的東西了。

比方說 ShowMessage("hello" " nice" "today" "^^");
這樣是不對的。
可是你去實驗看看。把其中一個字串變成 String("xxx"); 加在裏面。它就會變成可以動作。
PS.要加對地方。你想想這個實驗跟你的問題之間有什麼關係。

char * 並沒有 " " 的運算子。所以無法做加法。
而只要其中有一個變成 String 則會成為 String " " char *.
在 String 中有 " " 的運算子。那就會依那樣下去處理。
處理完後變成 ShowMessage 有沒有可以處理 String 的對應函數?
有就會動作,沒有就不會。就這樣而已。

講到這裏還不明白?建議你去讀一讀基本的 C 的書。
===================引 用 文 章===================
[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'確實是 include 的問題

基本上如果是如下面這樣也是ok

ofstream outfile;
outfile.open("c:\\calp.dat",ios::out);
outfile << setprecision(6) << 1.23456789 << endl;

我也不知道提問的033614477兄到底有多少錯誤訊息

===================引 用 文 章===================
你不用看到它。
只要看到 error message 就可以了。
比方說 class man 中有 int age; char name[10];
那你的 "<<" 要怎麼”輸出”這是要寫的。
不是拿來就能用的。它這行 error message 就是在說這個
===================引 用 文 章===================
我只有看到你[C Error] BECMain.cpp(3770): E2316 'setprecision' is not a member of 'std'這一行錯誤訊息
還有其他的嗎?我也只看到三行程式第三行還不完整...暗黑兄所說的部分我完全沒看到

===================引 用 文 章===================
------
~§~迷時師渡,悟了自渡~§~
033614477
一般會員


發表:10
回覆:8
積分:3
註冊:2006-11-29

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-04-02 15:23:55 IP:140.126.xxx.xxx 訂閱
我大概暗黑大大說的意思 目前在看手邊C資料流與檔案的存取  如果真的還是不懂在來發話   謝謝大家給我方向  我在去學習
系統時間:2024-05-05 17:22:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!