小编twf*_*wfx的帖子

C中的可变函数

1)为什么/* test1 */块下的代码不打印任何东西,但是/* test2 */打印的代码是否正确?

2)如何va_arg(va, char*)/* test 1 */代码块中使用.


void rdfDBG(int dbglevel, const char *fmt, ...) {

    va_list va;

#if 1 /* test 1 */
    char* logbuf;

    if ((logbuf = calloc(0x0, LOGBUFFERSIZE))== NULL)
        fprintf(stderr, "out of memory\n"); /* 1. Is there a better way instead of using fprintf? */

    va_start(va, fmt);
    (void) vsnprintf(logbuf, strlen(logbuf), fmt, va); /* 2. print nothing */
    va_end(va);

    free(logbuf);
#endif

#if 0 /* test 2 */
    va_start(va, …
Run Code Online (Sandbox Code Playgroud)

c variadic-functions

1
推荐指数
1
解决办法
544
查看次数

提取MySQL备份文件

我收到了一组扩展名为.bak的数据文件,但非技术人员告诉我它来自MySQL数据库。查看如何将SQL Server .bak文件导入MySQL打开.mdf文件 ,我怀疑它是否真的是MYSQL,因为列表中有一个.mdf文件,在我看来,这是来自SQL Server数据库。

我的问题是,(a)MYSQL是否会将4GB数据文件自动备份到.bak扩展名?(b)已经5年了,除了SQL Server 2008 Express,还有其他新版本可以用来尝试打开.bak吗?

mysql sql sql-server-2008

1
推荐指数
1
解决办法
2922
查看次数

如何在Python中复制数组中的类对象

我已经定义了一个Color类,如下所示.由于我需要存储多种颜色及其各自的节点ID(具有颜色),因此我制作了一个列表颜色来存储它们.但是,每次更改节点颜色时,我都不想直接更新列表颜色(另一个函数将决定是否更新),因此我需要在调用决策函数之前将颜色副本存储到*tmp_colors*,如果结果为是,则使用*tmp_colors*更新颜色.

我设法制作了新列表*tmp_colors*的副本,但*tmp_colors [0]*仍然指向colors [0],导致两个列表的更新.

  1. 如何在颜色[0]到*tmp_colors [0]*中复制类对象?
  2. 如果我稍后更新颜色[0],最好的方法是什么?
  3. 有没有更好的设计而不是下面的例子(定义类和类对象列表)?

class Color:
    __elems__ = "num", "nodelist",

    def __init__(self):
        self.num = 0
        self.num_bad_edge = 0

    def items(self):
        return [
                (field_name, getattr(self, field_name)) 
                 for field_name in self.__elems__]

def funcA():

    nodeCount = 2
    colors = []
    for i in range(0, nodeCount):
        colors.append(Color())

    colors[0].num = 2
    colors[0].nodelist = [10,20]
    colors[1].num = 3
    colors[1].nodelist = [23,33, 43]

    print "colors"
    for i …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

1
推荐指数
1
解决办法
113
查看次数

在双数组列表中排序日期时间

我有一个日期时间列表,其中包含多个[开始时间,结束时间]组合.如何有效地根据开始时间对列表进行排序?

[
[datetime.datetime(2013, 1, 2, 14, 0), datetime.datetime(2013, 1, 2, 16, 0)],
[datetime.datetime(2013, 1, 1, 9, 0), datetime.datetime(2013, 1, 1, 10, 0)],                  
[datetime.datetime(2013, 1, 1, 12, 0), datetime.datetime(2013, 1, 1, 16, 0)], 
]
Run Code Online (Sandbox Code Playgroud)

我知道sorted()和attrgetter()适用于namedtuple列表,但是有没有适用于上述场景的排序函数?

python python-2.7

1
推荐指数
1
解决办法
72
查看次数

qsort不适用于双数组

我尝试使用qsort对一个double值数组进行排序,但它似乎不起作用.想知道这里出了什么问题?

#include <stdio.h>
#include <stdlib.h>
static double compare (const void * a, const void * b)
{
  if (*(double*)a > *(double*)b) return 1;
  else if (*(double*)a < *(double*)b) return -1;
  else return 0;  
}

int main() {

    int idx;
    double* sum_least_square_err;

    sum_least_square_err = (double*) malloc (2500*2500*sizeof(double));

    sum_least_square_err[0] = 0.642;    
    sum_least_square_err[1] = 0.236;
    sum_least_square_err[2] = 0.946;
    idx = 3;

    qsort(sum_least_square_err, idx, sizeof(sum_least_square_err), compare);

    int i;
    for (i=0; i<idx; i++){
       fprintf(stderr,"sum_least_square_err[%d] = %.3f\n", i, sum_least_square_err[i]);            
    }
    fprintf(stderr,"MAEE = %.3f\n", sum_least_square_err[idx/2]);

    free(sum_least_square_err);
} …
Run Code Online (Sandbox Code Playgroud)

c qsort

0
推荐指数
1
解决办法
7024
查看次数