当前位置:首页 » 编程软件 » 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 可执行文件和核心。

热点内容
newman算法 发布:2024-11-25 21:34:55 浏览:200
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