小编sic*_*ans的帖子

在C编程中:当为新字符串mallocing空间时,是否需要考虑'\ 0'(空终止符)

例如,假设我想将字符串"str1"复制到新字符串"str2":

void function(const char* str1){
    char* str2;
    str2 = (char *) malloc(sizeof(char) * (strlen(str1) + 1));
    strcpy(str2, str1);
    ...
}
Run Code Online (Sandbox Code Playgroud)

malloc的参数应该是:

sizeof(char) * (strlen(str1)+1)
Run Code Online (Sandbox Code Playgroud)

要不就:

sizeof(char) * strlen(str1)
Run Code Online (Sandbox Code Playgroud)

c malloc

3
推荐指数
1
解决办法
1235
查看次数

Python doc字符串打印\n而不是新行(Mac上的Python 2.7.5)

所以我正在打字

>>> list = [1,2,3]
>>> list.__doc__
"list() -> new empty list\nlist(iterable) -> new list initialized from iterable's items"
Run Code Online (Sandbox Code Playgroud)

问题在于它字面上打印"\n"而不是打印新行,使得更复杂的文档字符串几乎无法读取.

我尝试过的所有其他内置类都会发生同样的事情.

我打开它时从python获得的版本信息是:darwin上的Python 2.7.5(默认,2013年7月16日,14:23:29)[GCC 4.2.1兼容的Apple LLVM 4.2(clang-425.0.28)]

python macos docstring

3
推荐指数
1
解决办法
1604
查看次数

标签 统计

c ×1

docstring ×1

macos ×1

malloc ×1

python ×1