我正在尝试从文件中读取单词并将它们存储到向量中,但索引不起作用。是什么原因导致它一直存在seg错误?为什么push_back()有效?什么是使用索引和push_back()之间的机制差异?
vector<string> readWordToArray(string fileName, int wordCount){
vector<string> wordArray;
fstream inFile;
inFile.open(fileName);
string word;
int index = 0;
while(inFile >> word){
// doesnt work, need to change to wordArray.push_back(word);
wordArray[index] = word;
index++;
}
return wordArray;
}
答案 0 :(得分:0)
<?php
$connect=mysqli_connect("localhost","root","","shopping");
$output=array();
$query="select serial,name,description,price from products";
$result=mysqli_query($connect,$query);
if(mysqli_num_rows($result)>0)
{
while ($row=mysqli_fetch_array($result))
{
$output[]=$row;
}
echo json_encode($output);
}
?>
用于获取向量中已存在的元素的引用,我非常确定使用超出范围的索引是未定义的行为。
要添加一个到最后,您需要使用(正如您在代码注释中指出的那样):
wordArray[index]
答案 1 :(得分:-2)
你应该分配你的矢量。 vector.resize(int n)如果你想像数组一样对待。否则,您必须使用Push_back()在向量的末尾分配新内存。请查看详细信息的{blowy link >> enter link description here