我想在我编码的内容中有一个性别系统,所以在对话中有代词,但由于字符串是在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) 我在运行于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手册没有在相应功能的页面上提到这些细节.
我setNeedsDisplay
在一个新线程中调用该方法,但我没有看到我的视图中的任何更改.在调用setNeedsDisplay
新主题后,我该怎么做才能看到我的所有更改?
我希望能够让用户输入他们想要做的事情.还有其他选择,但现在我正在研究"插入".另外两个选项是"搜索"和"删除".
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()
方式是否正确?