我試圖重現一個問題來問它在這!但我想創建的示例本身就有問題!for循環矢量,總是返回單個索引
正如你看到下面,我寫了接收來自用戶5元一個簡單的程序,並把它們放在一個u_char
載體內。之後,我試圖打印矢量的成員。
#include <iostream>
#include <vector>
#include <stdint.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/ether.h>
int main(){
std::vector<u_char*> packets;
u_char packet[10];
std::cout << "Receiving Values :\n";
for(int i=0; i<5; i++){
std::cin >> packet;
packets.push_back(packet);
}
std::cout << "\n\n\nPrinting Values :\n";
for(auto p : packets){
std::cout << p << "\n";
std::cout << "------------\n";
}
return 0;
}
這是輸出:
[email protected]:~/Desktop/test$ ./a.out
Receiving Values :
aaaa
b
ccccc
ddd
ggggggg
Printing Values :
ggggggg
------------
ggggggg
------------
ggggggg
------------
ggggggg
------------
ggggggg
------------
爲什麼在輸出中,我只得到了最後一個成員?