gpt4 book ai didi

string - fscanf 使用宏固定字符串大小

转载 作者:行者123 更新时间:2023-12-02 05:39:22 32 4
gpt4 key购买 nike

我想使用 fscanf (使用 gcc 的 C 代码)从文件中解析 ip。所以,我想做:

char myip[INET_ADDRSTRLEN];
fscanf(file, "%16s", myip);

但是,我不想对数字 16 进行硬编码,因此我尝试使用宏,但它不起作用。

#define _STRIFY(x) #x
char myip[INET_ADDRSTRLEN];
fscanf(file, "%" _STRIFY(INET_ADDRSTRLEN) "s", myip);

这是我得到的错误

unknown conversion character type 'N' format

那么我的代码有什么问题吗?

感谢您的帮助:)

最佳答案

这个怎么样?

char format[14];
sprintf(format, "%%%ds", INET_ADDRSTRLEN-1);
fscanf(file, format, myip);

关于string - fscanf 使用宏固定字符串大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607876/

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