C++
文章平均质量分 76
hefenghhhh
愈挫愈勇,百折不挠!
展开
-
ifstream 读写文件
Ifstream是C++中的输入文件流,用于打开一个文件,将其中的数据作为输入流。其用法是:Ifstream infile(”Filename”)Infile 为定义的输入流,filename为输入文件名。例:#include #include #include using namespace std;int main(){ifstream原创 2008-10-11 23:56:00 · 6728 阅读 · 1 评论 -
字符串的一些函数 转自http://baike.baidu.com/view/1570652.htm
<br /> stpcpy <br /> 原型:extern char *stpcpy(char *dest,char *src); <br /> 用法:#include <string.h> <br /> 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 <br /> 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 <br /> 返回指向dest结尾处字符(NULL)的指针。 <br /> 举例: <br /> // stpc转载 2011-03-07 10:09:00 · 1063 阅读 · 0 评论 -
c++语法的一点小结
Gets()以回车作为结束但是会读入回车,即回车也会当做有效的字符。String s;Cin>>s以回车或空格作为结束。但是不会读入回车或空格。如果char*ss=”dsafjha”; Ss[0]=’3’; 编译没有问题。程序会发生运行时错误。因为改变了常量的值。常量不能赋值给别名。字符串常量有点特殊。它可以赋值给指针。从这点看它应该是有地址的。但是它不能赋值给别名。String.c_str()是一个常量,只能赋值给常量指针。String.c_str()其实返回的应该是string的一个成员变量。原创 2010-10-23 13:32:00 · 112 阅读 · 0 评论 -
如何判断输入结束
关于不确定行数的输入有些时候 ,问题并没有给定输入数据的行数,也没有给出输入结束的标记。问题1:将字符串大写变小写,小写变大写 输入:n行字符串,每一行字符串不超过300 输出:n行字符串。这些题目并没有输入数据到底有多少,也没有结束标记。此时,我们该如何读入数据呢?假设题目是以文件输入输出。则文件的末尾必有一个文件结束标记。该标记为不可见字符,我们用EOF来表示。那么在输入的时候,如果我们用的是fscanf,我们可以在以fscanf(……)!=EOF来作为循环的条件。如果到了文件末尾,则fscanf(原创 2010-09-03 16:21:00 · 6986 阅读 · 0 评论 -
指针变量最好作为全局变量
<br />下面有一个程序。如果把fin,fout定义为全局变量,则一点事儿都没有,但是如果把fin,fout定义在主函数内部,则会发生异常,程序退出值为-1073741510。(Process terminated with status -1073741510)。<br />我整整排查了一个下午。<br />起初怀疑是自己程序的问题,里里外外检查了若干遍,没有发现错误。<br />后来发现把FILE* fin,换成ifstream fin,其他地方也一并照改,把文件指针全都换成了输入输出流,运行就正确了原创 2010-08-22 19:37:00 · 5955 阅读 · 0 评论 -
DLL的使用
<br />DLL的优点<br />简单的说,dll有以下几个优点:<br />1) 节省内存。同一个软件模块,若是以源代码的形式重用,则会被编译到不同的可执行程序中,同时运行这些exe时这些模块的二进制码会被重复加载到内存中。如果使用dll,则只在内存中加载一次,所有使用该dll的进程会共享此块内存(当然,像dll中的全局变量这种东西是会被每个进程复制一份的)。<br />2) 不需编译的软件系统升级,若一个软件系统使用了dll,则该dll被改变(函数名不变)时,系统升级只需要更换此d原创 2010-06-07 21:19:00 · 779 阅读 · 0 评论 -
C++ 类的静态变量
1.必须学好英文。一个简单有力的理由就是查阅资料时可以不局限于中文。2.MSDN很强大,前提是必须掌握好英文。 C++类的静态变量属于类,而不属于类的对象。但类的对象可以使用它。如果有多个对象,则他们共享该静态变量。类的静态变量在类中声明,在类外定义,即在类外赋值。最好不要在头文件中定义变量,因为可能该头文件被多次包含,极易造成变量的重定义。 关于ICON:加载ICON原创 2009-06-18 15:47:00 · 869 阅读 · 0 评论 -
enum枚举类型学习
Enum是枚举类型。定义形式一:Enum 枚举类型名{枚举常量1(=0),枚举常量2(=0),……}枚举变量1(,枚举变量2,……);如Enum weekday{ Monday=0,Tuesday,Wednesday,Thursday,Friday=9,Saturday,Sunday}today;Weekday 为枚举类型名,today为枚举变原创 2009-03-23 22:18:00 · 1199 阅读 · 0 评论 -
switch case 语句
在c/c++中,有一个多分支语句,形式为:switch (表达式){case 常量值1: 分支语句1; break; case 常量值2: 分支语句2; break; case 常量值3:原创 2008-12-02 19:06:00 · 716 阅读 · 0 评论 -
gdb的bug吗!
在使用gdb调试程序时,应该经常会去查看变量的值。但是,我发现gdb有时会出现一些莫名其妙的问题,怀疑是bug。这里,举两个例子。为了突出重点,下面的程序都经过简化,去掉了原来的功能,只保留了关键部分,即让gdb出现问题的部分。但程序是完整的,大家可以自己去试一下。程序1:#includeusing namespace std;struct node{ char s[2原创 2013-01-03 23:32:23 · 1303 阅读 · 0 评论