亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何打印出向量的內容?

如何打印出向量的內容?

C++
慕桂英546537 2019-07-05 10:04:15
如何打印出向量的內容?我想在C+中打印一個向量的內容,下面是我的如下內容:#include <iostream>#include <fstream>#include <string>#include <cmath>#include <vector> #include <sstream>#include <cstdio>using namespace std;int main(){     ifstream file("maze.txt");     if (file) {         vector<char> vec(istreambuf_iterator<char>(file), (istreambuf_iterator<char>()));         vector<char> path;         int x = 17;         char entrance = vec.at(16);         char firstsquare = vec.at(x);         if (entrance == 'S') {              path.push_back(entrance);          }         for (x = 17; isalpha(firstsquare); x++) {             path.push_back(firstsquare);         }         for (int i = 0; i < path.size(); i++) {             cout << path[i] << " ";         }         cout << endl;         return 0;     }}如何將向量的內容打印到屏幕上?
查看完整描述

3 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

要做到這一點,一個更簡單的方法是使用標準復制算法:

#include <iostream>#include <algorithm> // for copy#include <iterator> // for ostream_iterator#include <vector>int main() {
    /* Set up vector to hold chars a-z */
    std::vector<char> path;
    for (int ch = 'a'; ch <= 'z'; ++ch)
        path.push_back(ch);

    /* Print path vector to console */
    std::copy(path.begin(), path.end(), std::ostream_iterator<char>(std::cout, " "));

    return 0;}

ostream_iterator被稱為迭代器適配器..對類型進行模板化,以便打印到流(在本例中,char). cout(也稱為控制臺輸出)是我們要寫入的流,以及空格字符(" ")是我們希望在存儲在向量中的每個元素之間打印的內容。

這個標準算法是強大的,許多其他算法也是如此。標準庫給你的力量和靈活性使它如此偉大。想象一下:您可以用代碼行。您不必使用分隔符來處理特殊情況。你不需要擔心循環。標準圖書館為你做這一切。


查看完整回答
反對 回復 2019-07-05
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

在C+11中,您現在可以使用基于范圍的循環:

for (auto const& c : path)
    std::cout << c << ' ';


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 911 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號