所以对于这个程序,我正在为类编写,我必须将矢量字符串格式化为标准输出。我只使用'printf'函数的字符串来解决这个问题,但是我不明白如何使用它。
这是我得到的:
void put(vector<string> ngram){
while(!(cin.eof())){ ///experimental. trying to read text in string then output in stdout.
printf(ngram, i);///
答案 0 :(得分:1)
如果您只是希望每一项都在一行上:
void put(const std::vector<std::string> &ngram) {
// Use an iterator to go over each item in the vector and print it.
for (std::vector<std::string>::iterator it = ngram.begin(), end = ngram.end(); it != end; ++it) {
// It is an iterator that can be used to access each string in the vector.
// The std::string c_str() method is used to get a c-style character array that printf() can use.
printf("%s\n", it->c_str());
}
}
答案 1 :(得分:0)
好吧,我无法从你的问题中读到很多内容,但根据我的理解,你想要在标准输出中打印一个字符串向量!?这可以这样工作:
void put(std::vector<std::string> ngram){
for(int i=0; i<ngram.size(); i++)
{
//for each element in ngram do:
//here you have multiple options:
//I prefer std::cout like this:
std::cout<<ngram.at(i)<<std::endl;
//or if you want to use printf:
printf(ngram.at(i).c_str());
}
//done...
return;
}
这就是你想要的吗?