gpt4 book ai didi

c - 这是一个有效的 C ifdef 结构吗?有没有更好的办法?

转载 作者:太空宇宙 更新时间:2023-11-04 02:09:12 24 4
gpt4 key购买 nike

我想在我的项目中添加一种新的文件格式。所以我正在#defineing 一种新的文件格式类型,但我也想继续支持旧格式。

我的 #ifdef#else 的设置/结构是否有意义,是否有效?我很确定是这样,但我觉得没有牙套就没有意义。

// My intention
if()
;
else
{
if()
;
else
;
}

.

#ifdef FILE_FORMAT_TWO
sprintf(xxx);
#else
#ifdef NEW_FILE_FORMAT
sprintf(xxx);
#else
sprintf(xxx);
#endif
sprintf(xxx);
#endif

有没有更好的方法来做到这一点?

编辑:我的意思是,代码的第一部分就是我要对第二部分中的 #(pound defines、ifs 和 elses)执行的操作。我不确定第二部分是否与第一部分相同。我这样写第二部分是因为我没有意识到要使用 #elif,我错过了那条信息。

最佳答案

#ifdef FILE_FORMAT_TWO
sprintf(xxx);
#else
#ifdef NEW_FILE_FORMAT
sprintf(xxx);
#else
sprintf(xxx);
#endif
sprintf(xxx); <<---- remove this
#endif

但我认为这样会更好:

#define FILE_FORMAT 1

#if FILEFORMAT == 1

#elif FILEFORMAT == 2

#else

#endif

关于c - 这是一个有效的 C ifdef 结构吗?有没有更好的办法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com