随笔分类 - C语言
摘要:#include #include int isLittleEndian(){ unsigned short i=1; return (1 == *((char *)&i));}int main() { if(isLittleEndian()) { printf("低字节序\n"); } else { printf("高字节序\n"); }}
阅读全文
posted @ 2013-10-24 12:24
长虹落日
摘要:很多人在看 《C++ primer》书时,里面说到Ctrl+Z 字符结束符的时候,书上列举了个简单的例子,告诉我们,只要按下Ctrl+Z就可以退出while循环了。例如:#include <iostream>#include <string>using namespace std;int main(){ string word;while(cin>>word) cout <<word <<endl; system("pause");return 0; }但实际测试发现总是要按两次Ctrl+Z才能退出,这其实是VC6
阅读全文
posted @ 2012-11-30 22:52
长虹落日
摘要:功 能 以wb+形式创建一个临时二进制文件函数原型 FILE *tmpfile(void);简介 标准I/O库中提供了两个函数来创建临时文件,这个函数是其中之一,另外一个是tmpnam。值得注意的是,每调用一次tmpnam,就产生一个不同的文件名,最多调用次数为TMP_MAX,该宏定义在<stdio.h>中。创建的临时文件在程序退出时会被自动删除。程序例#include <stdio.h>#include <stdlib.h> int main(){ char result[100]; int fd; FILE *fp; fp = tmpfile(); ..
阅读全文
posted @ 2012-11-30 13:12
长虹落日
摘要:比如迅雷下载,下载开始之前会在磁盘上创建一个与下载文件同样大小的空白的原始文件,然后下载过程中去改写这个文件。如果在生成这个空白的原始文件时,反复调用的WriteFile来写入文件。当文件较大时,无法保证在写这个文件的过程中,系统中有其他进程也向磁盘申请空间,这样还是会造成磁盘碎片问题,该文件的不连续会造成日后对该文件读取的速度降低,但通常不考虑碎片问题。我实际编程测了一下:使用CreateFile/SetFilePointer/SetEndOfFile,速度很快,支持大于4GB的文件;使用CreateFileMapping,速度也很快,但是32位程序下只能是小于2GB的文件,而且占用地址空间
阅读全文
posted @ 2012-11-29 14:16
长虹落日
摘要:long begin = clock ();printf ("begin: %ld\n", begin);//要测量的程序段long end = clock ();printf ("end: %ld\n", end);
阅读全文
posted @ 2012-11-28 19:18
长虹落日
摘要:如果是vs2008或者2010,就比较简单了,直接项目右键---属性---连接器---清单文件---uac执行级别 选择requireAdministrator 重新编译 这样你的程序直接运行就拥有管理员权限了。程序就会出现一个盾牌。=======================================其他编译器的方法:导入manifest文件1.如果你使用的是VC6或者vs2003,,2005,通过导入manifest文件解决<?xml version="1.0" encoding="utf-8"?><asmv1:assemb
阅读全文
posted @ 2012-11-28 19:16
长虹落日
摘要:通 常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进制代 码。GCC是Linux平台下最常用的编译程序,它是Linux平台编译器的事实标准。同时,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍 的一种编译器。GCC之所以被广泛采用,是因为它能支持各种不同的目标体系结构。例如,它既支持基于宿主的开发(简单讲就是要为某平台编译程序,就在该平 台上编译),也支持交叉编译(即在A平台上编译的程序是供平台B使用的)。目前,GCC支持的体系结构有四十余种,常见的有
阅读全文
posted @ 2012-10-18 10:39
长虹落日
摘要:#include <stdio.h>int main(){ unsigned char result = 1["night"]*2["girls"]+4["allnight"]; char *of_you = "Though you was strong enough and seem never died"; printf("You got %s", result+of_you); return 0;} 结果是:You got died解释:1["night"]
阅读全文
posted @ 2012-05-04 17:47
长虹落日
摘要:#include <stdio.h>#define N 19main(){ int i; for(i=0;i<=N;i++) { printf("%*.*s%-*.*s\n",N,i<=N/2?i:N-i,"*******************",N,i<=N/2?i+1:N -i+1,"*******************"); }} 如果写printf("%s","**********************")相信看得懂%m.ns中间的m.n是对%s的修饰
阅读全文
posted @ 2012-05-04 17:10
长虹落日

浙公网安备 33010602011771号