當前位置:首頁 » 編程軟體 » xe編譯

xe編譯

發布時間: 2024-07-26 15:23:56

㈠ 關於c++Builder XE英文版本編譯問題

第一個問題:
\n 和 endl 表示回車。

第二個問題:
1、gets(str);
是從緩沖區中讀取字元串,然後保存到數組str中直到遇到回車符,換行符不作為字元串的內容,讀取的換行符會轉換為NULL值,由此標志程序的結束。

2、cin.getline(char*line,int size,char ='"n')是讀入一行字元,第二個參數是本次讀取的最大字元個數,第三個參數是分隔字元,作為讀取一行結束的標志,默認是\n。

3、cin.get()第一個用法,是讀入一個字元。 cin.get()第二個用法,也是輸入一行(同cin.getline()),但是區別就是,不輸出分隔符

補充一下:
cin.getline() 與 cin>>str 的一個不同是,前者輸入一行,行中可以包含空格,後者卻以空格或回車作為字串結束,不包含空格。

補充:get() 和getline()的異同
1)相同點:
要獲取一行的輸入,標准流類的成員函數getline(),get()都有三個參數,比如getline(char*line,int size,char ='\n')。其中第一個參數指向存儲結果字元的緩沖區指針,第二個表示緩沖區大小(本次讀取的最大字元個數,不能夠超過其限度),第三個表示知道什麼時候停止讀輸入的終止符(讀取一行結束的標志)。終止符有一個經常用到的預設值"\n"。兩個函數遇到輸入終止符時,都把零儲存在結果緩沖區里。
2)不同點:
1.一般來講,get()一次讀入一個字元,getline()一次讀入一行字元
2.在處理字元串時,get()遇到輸入流的分隔符時就停止,而不從輸入流中提取分隔符。比如用cin.get(myarray1,20,'*'); 處理字元串1111*2222,碰到*就停止。cout<<myarray1;會輸出1111。然後再調用cin.get(ch1),cout<<ch1;輸出的還是這個分隔符*。getline()與其相反,它從輸入流中提取分隔符,但仍沒有把它儲存在結果緩沖區里。如果用cin.getline(myarray2,20,'*');處理上面同樣的字元串1111*2222,碰到*停止。 cout<<myarray2;會輸出1111。然後再調用cin.get(ch2),cout<<ch2;輸出的是分隔符後面的2。

3)代碼演示:
#include <iostream>
#include <iomanip>
using namespace std;

void main()
{
char myarray1[20],myarray2[20];
cin.get(myarray1,20,'*');
cout<<myarray1;
char ch1;
cin.get(ch1);
cout<<ch1;

cin.getline(myarray2,20,'*');
cout<<myarray2;
cin.get(ch1);
cout<<ch1;
}

4)read 函數和 write函數
最近開始從事搜索引擎的工作,所以又重新開始了c/c++的旅程,時隔4年
不得不復習一下c/c++其中的內容,以下內容有網上別的朋友發表的,也有我自己總結的.
1. read
#include
ssize_t read(int filedes, void *buf, size_t nbytes);

返回值:讀取到的位元組數;0(讀到 EOF);-1(出錯)
read 函數從 filedes 指定的已打開文件中讀取 nbytes 位元組到 buf 中。以下幾種情況會導致讀取到的位元組數小於 nbytes :
A. 讀取普通文件時,讀到文件末尾還不夠 nbytes 位元組。例如:如果文件只有 30 位元組,而我們想讀取 100
位元組,那麼實際讀到的只有 30 位元組,read 函數返回 30 。此時再使用 read 函數作用於這個文件會導致 read 返回 0 。
B. 從終端設備(terminal device)讀取時,一般情況下每次只能讀取一行。
C. 從網路讀取時,網路緩存可能導致讀取的位元組數小於 nbytes 位元組。
D. 讀取 pipe 或者 FIFO 時,pipe 或 FIFO 里的位元組數可能小於 nbytes 。
E. 從面向記錄(record-oriented)的設備讀取時,某些面向記錄的設備(如磁帶)每次最多隻能返回一個記錄。
F. 在讀取了部分數據時被信號中斷。
讀操作始於 cfo 。在成功返回之前,cfo 增加,增量為實際讀取到的位元組數。
2. write
#include
ssize_t write(int filedes, const void *buf, size_t nbytes);

返回值:寫入文件的位元組數(成功);-1(出錯)
write 函數向 filedes 中寫入 nbytes 位元組數據,數據來源為 buf 。返回值一般總是等於 nbytes,否則就是出錯了。常見的出錯原因是磁碟空間滿了或者超過了文件大小限制。
對於普通文件,寫操作始於 cfo 。如果打開文件時使用了 O_APPEND,則每次寫操作都將數據寫入文件末尾。成功寫入後,cfo 增加,增量為實際寫入的位元組數。
From : antigloss

㈡ Delphi XE6 編譯出的exe程序,體積很大怎麼弄

推薦您用upx壓縮殼進行壓縮。
1、upx壓縮殼的說明(來自網路)

登錄/注冊後可看大圖

UPX (the Ultimate Packer for eXecutables)是一款先進的可執行程序文件壓縮器,壓縮過的可執行文件體積縮小50%-70% ,這樣減少了磁碟佔用空間、網路上傳下載的時間和其它分布以及存儲費用。 通過 UPX 壓縮過的程序和程序庫完全沒有功能損失和壓縮之前一樣可正常地運行,對於支持的大多數格式沒有運行時間或內存的不利後果。 UPX 支持許多不同的可執行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和動態鏈接庫、DOS 程序、 Linux 可執行文件和核心。

熱點內容
a演算法概念 發布:2024-11-25 21:24:16 瀏覽:587
jquery源碼書籍 發布:2024-11-25 21:19:50 瀏覽:803
銀行卡輸入密碼超限怎麼辦 發布:2024-11-25 21:09:07 瀏覽:958
編譯指令多發 發布:2024-11-25 20:58:17 瀏覽:751
java上傳文件到伺服器 發布:2024-11-25 20:52:47 瀏覽:741
軸加工編程 發布:2024-11-25 20:52:12 瀏覽:412
手機的媒體存儲 發布:2024-11-25 20:29:42 瀏覽:265
安卓如何關閉手機桌面 發布:2024-11-25 20:24:37 瀏覽:701
腳本也違法嗎 發布:2024-11-25 20:24:24 瀏覽:305
phpeol 發布:2024-11-25 20:16:01 瀏覽:93