小编Nob*_*ica的帖子

尝试在 C++ 中的 if 语句中定义字符串

我想在我编码的内容中有一个性别系统,所以在对话中有代词,但由于字符串是在if语句中定义的,因此它们是空白的。有一个更好的方法吗?

int gender;
string pronoun;
string pronoun1;
string pronoun2;
string pronouns3;
string namingGender;

cout << "Please enter your gender \n1. Male \n2. Female \n3. Other" << endl;
cin >> gender;
if (gender == 1) {
    string namingGender = " saucy sir";
    string pronoun = " he ";
    string pronoun1 = " him ";
    string pronoun2 = " his ";
    string pronoun3 = " he's ";
    cout << "Have fun playing Insert-Name-Here!" << endl;
}
else if (gender == …
Run Code Online (Sandbox Code Playgroud)

c++ string if-statement

0
推荐指数
1
解决办法
95
查看次数

为什么我在PHP中使用strlen()函数为同一个字符串获取两个不同的输出?

我在运行于Windows 10 Home Single Language 64位操作系统的机器上使用PHP 7.2.11.

我试过以下代码:

第1号代码片段

<?php
$str = 'abc\0def';
echo strlen($str); // Outputs 8
?>
Run Code Online (Sandbox Code Playgroud)

代码片段2

<?php
$str = "abc\0def";
echo strlen($str); // Outputs 7
?>
Run Code Online (Sandbox Code Playgroud)

我不明白为什么同一个函数为同一个字符串产生两个不同的输出?有一次它提供输出8和另一次7

为什么这样?

功能strlen()是二进制安全还是多字节安全?PHP手册没有在相应功能的页面上提到这些细节.

php strlen

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

setNeedsDisplay在后台线程上不起作用

setNeedsDisplay在一个新线程中调用该方法,但我没有看到我的视图中的任何更改.在调用setNeedsDisplay新主题后,我该怎么做才能看到我的所有更改?

multithreading objective-c ios setneedsdisplay

-4
推荐指数
1
解决办法
1154
查看次数

这是realloc()的正确用法吗?

我希望能够让用户输入他们想要做的事情.还有其他选择,但现在我正在研究"插入".另外两个选项是"搜索"和"删除".

int main() {

    char *input = malloc(sizeof(char) * 6);
    printf("%s", "WELCOME TO USER'S SKIP LIST!\n\nWhat do you wish to do? ");
    scanf("%6s", input);
    if (strcmp(input, "insert") == 0) {
        printf("%s", "What is the item? ");
        input = realloc(input, (size_t)scanf("%s", input));
    }
}
Run Code Online (Sandbox Code Playgroud)

我最初分配足够的内存,input有6个字符.这是因为其他两个选项也只有6个字符.进入后,他们insert必须输入一个具有任意数量字符的项目,因此我想input根据他们为项目输入的内容重新分配内存.因此,如果他们进入Nintendo Switch,将重新分配15个字符.我的执行realloc()方式是否正确?

c malloc stdin realloc

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