gpt4 book ai didi

c++ - python 字符串使用特殊字符发送到 c++ dll,崩溃

转载 作者:行者123 更新时间:2023-11-28 00:55:29 28 4
gpt4 key购买 nike

我有一个调用包含 printf() 的 c++ dll 方法的 python 方法。

典型调用:

method ("something")

但现在我必须能够调用类似

method("%x %y %z")

它正在崩溃。

我用一个非常简单的方式逃脱了 %

if msg:            
msg = msg.replace( "%", "/%" )

它似乎适用于只有一个的情况。 (不知 Prop 体对文字本身有什么影响...)

所以我测试了不止一个,我得到了一个 Debug Assertion Failure - Expression ("Incorrect format specifier", 0)。

编辑:接受答案后,解决方案:

if msg:            
msg = msg.replace( "%", "%%" )

最佳答案

反斜杠 是转义字符。试试这个:

if msg:            
msg = msg.replace( "%", "\%" )

您的无效格式说明符错误来自 %z 或 %y not begin valid tokens。


您尝试做的事情有点令人困惑。据我所知,您正在尝试执行以下任一操作:

// Insert your string elements in python, before calling C functions.
method("%s %s %s" % ("Hello", "python", "world!")

或者这个:

// Set the string format in python and pass to C function
method("%%s %%s %%s")

// In C function
char buf[128];
// Print your string with your custom format.
printf(GetStringFormatFromPython(), "Hello", "python", "world!");

关于c++ - python 字符串使用特殊字符发送到 c++ dll,崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641325/

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