将结构的属性复制到相同类型的另一个结构

时间:2012-10-28 09:50:31

标签: c

我有一个结构,我想将orig的outfname中的元素复制到dest的outfname。我怎样才能做到这一点?

typedef struct {
    char outfname[256];
} sudoku_t;

void sudoku_copy(sudoku_t* orig,sudoku_t* dest){
}

感谢。

2 个答案:

答案 0 :(得分:7)

void sudoku_copy(sudoku_t* orig, sudoku_t* dest)
{
    *dest = *orig;
}

只需使用赋值运算符。

作为附注,我建议您使用dest作为函数中的第一个参数,以与memcpystrcpy等函数使用的C约定保持一致。

答案 1 :(得分:0)

备选(最便携)的方法是:

#include <string.h>

void sudoku_copy(sudoku_t* orig, sudoku_t* dest)
{
    memcpy(dest, orig, sizeof (*dest));
}