小编tst*_*ers的帖子

Python 3如何'声明'一个空的`bytes`变量

如何bytes在Python 3中"声明"一个空变量?

我试图接收块的字节,然后将其更改为utf-8字符串.但是,我不确定如何声明将保存整个字节序列的初始变量.调用此变量msg.我不能声明它None,因为你不能添加一个bytes和一个NoneType.我不能将它声明为unicode字符串,因为那时我将尝试添加bytes到字符串.此外,随着接收程序的发展,它可能会让我陷入一系列仅包含部分字符的字节.我不能没有msg声明,因为msg在转让之前会被引用.以下是有问题的代码

def handleClient(conn, addr):
    print('Connection from:', addr)
    msg = ?
    while 1:
        chunk = conn.recv(1024)
        if not chunk:
            break
        msg = msg + chunk
    msg = str(msg, 'UTF-8')
    conn.close()
    print('Received:', unpack(msg))
Run Code Online (Sandbox Code Playgroud)

python variables byte variable-assignment python-3.x

25
推荐指数
1
解决办法
4万
查看次数

将非const参数传递给需要const参数的函数时发出警告.有没有更好的办法?

我试图将参数传递给函数,并指示const接收函数应该考虑该参数.

我的理解是,下面的代码示例显示了确保test可以使用argv变量调用该函数的唯一方法,该变量未声明为const.

void test(const char * const *arr);

int main(int argc, char *argv[], char *env[])
{
    test(argv);
}

void test(const char * const *arr)
{
}
Run Code Online (Sandbox Code Playgroud)

但是,gcc给了我一个警告,如下所示:

E:\Projects\test>gcc -o test test.c
test.c: In function 'main':
test.c:5:2: warning: passing argument 1 of 'test' from incompatible pointer type
[enabled by default]
test.c:1:6: note: expected 'const char * const*' but argument is of type 'char **'
Run Code Online (Sandbox Code Playgroud)

这让我相信我在这里所做的事情是错误的.有没有更好的方法将参数传递给函数,并指出它应该被const接收函数考虑?

c gcc const

5
推荐指数
1
解决办法
6204
查看次数

标签 统计

byte ×1

c ×1

const ×1

gcc ×1

python ×1

python-3.x ×1

variable-assignment ×1

variables ×1