gpt4 book ai didi

c - 在编译时确定#defined 字符串长度

转载 作者:太空狗 更新时间:2023-10-29 16:27:27 26 4
gpt4 key购买 nike

我有一个 C-program (一个 Apache 模块,即程序经常运行),它将 write() 通过套接字发送一个以 0 结尾的字符串,所以我需要知道它的长度。

字符串#定义为:

#define POLICY "<?xml version=\"1.0\"?>\n" \
"<!DOCTYPE cross-domain-policy SYSTEM\n" \
"\"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">\n" \
"<cross-domain-policy>\n" \
"<allow-access-from domain=\"*\" to-ports=\"8080\"/>\n" \
"</cross-domain-policy>\0"

有没有比在运行时使用 strlen(POLICY)+1 更好的方法(从而一次又一次地计算长度)?

预处理器指令,允许在编译时设置 POLICY_LENGTH

最佳答案

使用sizeof()。例如sizeof("blah") 将在编译时评估为 5(5,而不是 4,因为字符串文字总是包含一个隐式空终止字符)。

关于c - 在编译时确定#defined 字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003408/

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