这个是在Linux下遇到的,以前从来都不需要支持中文,最近项目需要。
FILE *fp=NULL;
fgets(buf, sizeof buf, fp);
printf ("buf=%s\n", buf);
成功,就这样就满足我的需求了。
之前的弯路是fread()来读取,这个就太麻烦了,所以换了算法。...
自然对齐:
1.一个基本类型实例的大小要能整除其地址值。
2.数组有着和数组里类型本身相同的对齐要求。
3.一个聚集类型的实例,其对齐要求最严格的子类型的排列要能整除聚集的地址
在32位机器上,
char的大小为1(以字节计),所以它可以被存储在内存的任意地址处
short的大小为2,所以它只能存储在“偶数”地址处
integer和指针的大小为4(32位机上一个字为4个字节),所以它们只能存储在一个字界中
double的大小为8,所以它只能存储在两个字界中...
分类:
其他好文 时间:
2014-06-05 03:52:15
阅读次数:
200
寥寥数笔,记录我的C语言盲点笔记,只为曾经经历过,亦有误,可交流。1.implict declartion of function 指的是在预处理时没有函数的申明,但该函数在别的函数中进行了编译与调用,编译可以完成链接但是会给出warning,需要提前申明2. sizeof是一个operand操作符,不能直接对其进行&取地址操作。是一个编译器自动算大小的函数,在预处理时。和宏定义有所类似。size...
分类:
编程语言 时间:
2014-06-05 02:53:59
阅读次数:
307
寥寥数笔,记录我的C语言盲点笔记,只为曾经经历过,亦有误,可交流。1.逻辑表达式的使用取值 = 表达式 ? 表达式1:表达式2;比如x = y > z ? y:z2."+,-"等逻辑运算符优先级大于移位,移位大于逻辑运算3.sizeof在编译时由编译器完成,对其传入的参数不做运算处理。sizeof(i++);返回4;不会对实际的i进行操作sizeof和strlen的区别是,后者是运算时执行。返回遇...
分类:
编程语言 时间:
2014-06-04 23:37:44
阅读次数:
256
C Runtime是windows平台下的一个概念。一般来说,CRT函数(C
Runtime函数)就是标准的C语言函数。例如,printf、scanf、strlen、fopen等函数就属于CRT函数。在windows下所有的CRT函数最终都是转化成为win32
API来执行的。windows本身并没...
分类:
其他好文 时间:
2014-06-02 13:33:51
阅读次数:
233
总所周知,sizeof关键字返回一个类型的长度。于是,一些聪明的人就想出了用sizeof(array) /
sizeof(array[0])来获取array数组的长度。这个表达式十分巧妙。第一个sizeof(array)返回array的长度,第二个sizeof(array[0])返回array每个元...
分类:
其他好文 时间:
2014-06-02 06:21:58
阅读次数:
211
无虚继承的空类占一个字节,用于标记该类。有虚继承的空类至少占4个字节(可能继承的空类占很大空间)。对齐情况class X{float i;//8char
j;//1int k;//4double b;//下面重新的字节8,上面用来对齐};sizeof(X)=24class Y{char j;//1i...
分类:
其他好文 时间:
2014-06-01 11:46:35
阅读次数:
242
/*
**AVL平衡树插入例程
**2014-5-30 11:44:50
*/
avlTree insert(elementType X, avlTree T){
if(T == NULL){
T = malloc(sizeof(struct avlTree));
if(T == NULL) fatalError("Out of space!!!");
T->element = X...
分类:
其他好文 时间:
2014-06-01 09:50:16
阅读次数:
233