BCB中可以使用C語言嗎 |
|
033614477
一般會員 發表:10 回覆:8 積分:3 註冊:2006-11-29 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
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 發送簡訊給我 |
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 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
|
033614477
一般會員 發表:10 回覆:8 積分:3 註冊:2006-11-29 發送簡訊給我 |
===================引 用 文 章=================== 思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^ #include "iomanip.h" ===================引 用 文 章=================== 所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿 這位大大的意思是說要加入以上的宣告 但是還是出錯 我再繼續努力看看 |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
你想想你的 setprecision 有說要怎麼做 << 這個動作嗎?
沒有的話,它怎麼懂呢? 就像你沒定義 " " 的操作法。你要它做" " 的動作。它會知道嗎? ===================引 用 文 章=================== 思考一下setprecision在哪裡呢?要怎麼樣才能使用它^^ #include "iomanip.h" ===================引 用 文 章=================== 所以我的錯誤是來自於 ofstream跟setprecision嗎? 可是setprecision不就是給定浮點數的大小而已嗎? 還需要其他動作阿 這位大大的意思是說要加入以上的宣告 但是還是出錯 我再繼續努力看看 |
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
我只有看到你[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 發送簡訊給我 |
你不用看到它。
只要看到 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 發送簡訊給我 |
[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 發送簡訊給我 |
那你要看看 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 發送簡訊給我 |
提問的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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |