gpt4 book ai didi

损坏的 ints 和 sscanf——以及其他与 C 相关的内存问题

转载 作者:行者123 更新时间:2023-11-30 16:02:43 25 4
gpt4 key购买 nike

我有一个线程函数control()。它调用另一个函数来解析一些服务器响应。这是一些详细的初始化,不能解决我的问题。

    int oct1 = 0;
int oct2 = 0;
int oct3 = 0;
int oct4 = 0;
int p1 = 0;
int p2 = 0;

sscanf(passive_ip, "%i,%i,%i,%i,%i,%i", &oct1, &oct2, &oct3, &oct4, &p1, &p2);

我经常发现我的结果很困惑。例如:

S->C: 227 Entering Passive Mode (128,111,40,221,206,170)
The Parsed Result: 128.111.40.221 206,170

S->C: 227 Entering Passive Mode (128,111,40,221,80,8)
The Parsed Result: 128.111.40.221 80,8170

S->C: 227 Entering Passive Mode (128,111,40,221,241,196)
The Parsed Result: 128.111.40.221 241,196

S->C: 227 Entering Passive Mode (128,111,40,221,70,216)
The Parsed Result: 128.111.40.221 70,2166

注意旧值如何与新值附加/混杂。关于为什么会发生这种情况有任何线索吗?

最佳答案

您似乎忘记终止 passive_ip。无论您在做什么,都应该确保以空终止字节结束。

关于损坏的 ints 和 sscanf——以及其他与 C 相关的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983538/

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