我有两个问题:
假设用户在if ($nombre === "nat")
中输入的字符全部包含在===
中:
如果我的$nombre = isset($_POST['name']) ? $_POST['name'] : "";
以 data: function(){
return{
// bind the name field of the form, for submission
shared: store,
description: 'tests['+this.index+'][description]',
parameters: 'tests['+this.index+'][parameter]',
something: 2, //some placeholder value, I am adding another variable in my actual code along with the template of the component
}
}
,
methods: {
populate: function(){
var self = this.something;
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url:'/parametersByDescription',//this is specified in web routes
type: 'POST',
data: {description: self},
success: function(data){
store.parameter = data;
}
})
return;
}
}
})
开头,则我的input
的第一个字符为alphabet
,但是如果我以{{1 }},input
是向右移3的原始字符。如果我的"A"
以output
开头,为什么我的"A"
也以{ {1}}而不是alphabet
?
如果我的output
是带空格的字符串(例如input
),为什么第一个单词是我的"A"
的唯一组成部分? (计算机如何解释这一点?)我知道C ++会将换行符,空格和制表符视为空格,但是我认为如果空格位于字符串中,则将其视为字符。 如何修改代码,以便将output
的其余空间和"A"
包含(最好转移)?
"D"
答案 0 :(得分:1)
如果我的输入以
"A"
开头,则output
中的第一个字符为"A"
,但是如果我以字母中的任何其他字符开头,则output
为原始字符向右移动3。如果我的input
以"A"
开头,为什么我的output
也以“ A”开头而不是"D"
?
不是。它会跳过"A"
,根本不会将其添加到output
!
这是因为std::string::find()
不返回指针,而是返回索引。如果找不到匹配项,则返回std::string::npos
(-1)。将NULL
与索引进行比较会将NULL
视为索引0。因此,当find()
找到"A"
时,它将返回0,然后将其与等于{{1 }}(0),因此跳过将NULL
添加到"D"
。所有其他output
个字符使input
返回的索引不是0,因此它们不等于find()
,因此您将所有字符(包括引起{{1 }}返回NULL
,将所有这些都移到索引2)。
如果我的
find()
是带空格的字符串(例如npos
),为什么第一个单词是我的input
的唯一组成部分? (计算机如何解释这一点?)我知道C ++会将换行符,空格和制表符视为空格,但是我认为如果空格位于字符串中,则将其视为字符。 如何修改代码,以便将"Stack Overflow"
的其余空间和output
包含(最好转移)?
input
读取以空格分隔的单词。它首先跳过前导空格(除非使用了output
),然后读取直到遇到空格。要读取其中包含空格的字符串,请改用operator>>
。
话虽如此,请尝试以下方法:
std::noskipws
此外,当在StackOverflow上提问时,如何格式化一个变量,使它们在编写问题时处于很小的代码块中?我在其他人的帖子上看到了这一点,但我不知道该怎么做,它使事情更具可读性。
代码块可以缩进4个空格。 StackOverflow编辑器上的工具栏上有一个用于格式化代码块的按钮。只需选择代码并按下按钮即可。
其他文本的代码内联可以用引号引起来。
单击编辑器工具栏右侧的std::getline()
按钮,以查看受支持的格式标记。