好好学网络原理
1.How to configure conky on ubuntu 12.04(如何在ubuntu12.04上配置conky)
http://gnome-look.org/content/show.php/Conky+lua?content=139024
需要注意的是你所在地区的编码,如合肥是ZSOF
2.c 语言中relloc问题
这个函数用来从一个文件中读取并计算字符个数:
char* CountChars(const char * file_name, int * array_weight, char * array_char) ///< 计算字符数
{
char ch;
int i;
FILE * ptr_data_file;
if((ptr_data_file=fopen("Data.txt" , "r")) == NULL)
{
printf("Cannot open file Data.txt\n");
exit(0);
}
ch = fgetc(ptr_data_file);
while(ch != EOF)
{
putchar(ch);
for(i=1;i<=array_weight[0];i++)
{
if(ch == array_char[i])
{
break;
}
}
if(i > array_weight[0]) ///< 新的字符
{
array_char = (char *)realloc(array_char , (i+1)*sizeof(char));
array_char[i] = ch;
array_weight = (int *)realloc(array_weight , (i+1)*sizeof(int));
array_weight[i] = 1;
array_weight[0] ++ ; ///< 总的字符个数
}
else
{
array_weight[i] ++; ///< 对应字符的权
}
ch = fgetc(ptr_data_file);
}
fclose(ptr_data_file);
return array_char;
}
作为形参的array_weight, array_char的值会因relloc函数变化,结果调用CountChar函数的那个函数里的array_weight和array_char的值并没有改变,造成错误。
解决方法有两种:
1.不用这个函数,直接写到调用函数里;
2将形参换为
char* CountChars(const char * file_name, int ** p_array_weight, char **p_array_char)
函数内做相应改变。