C/C++实现读取当前文件夹下的文件-popen
生活随笔
收集整理的這篇文章主要介紹了
C/C++实现读取当前文件夹下的文件-popen
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
常使用該方法獲取bash命令的的輸出,并將輸出的文本用于分析,便于執行下面的操作,如本例子就是利用popen實現讀取ls -l命令的輸出
源碼
#include <iostream> #include <string>using namespace std; int main(int argc, char const *argv[]) {//-rwxrwxrwx 1 root group 64463 Mar 14 09:53 101.jpg\r\nstring data = "";string cmd = "ls -l ";cout << "popen:" << cmd << endl;FILE *f = popen(cmd.c_str(), "r");if (!f)return -1;char buffer[1024] = { 0 };for (;;){int len = fread(buffer, 1, sizeof(buffer) - 1, f);if (len <= 0)break;buffer[len] = '\0';data += buffer;}pclose(f);cout << data << endl;return 0; }輸出結果
andrew@andrew-G3-3590:/work/01_C++基礎/01_C++基礎/c++基礎day03/源碼$ ./a.out popen:ls -l 總用量 92 -rwxrwxr-x 1 andrew andrew 18408 9月 3 00:10 a.out -rwxrw-r-- 1 andrew andrew 741 7月 22 23:15 dm01_類的構造和析構基礎.cpp -rwxrw-r-- 1 andrew andrew 1209 7月 22 23:15 dm02_構造函數的分類.cpp -rwxrw-r-- 1 andrew andrew 840 7月 22 23:15 dm03_顯示初始化方案.cpp -rwxrw-r-- 1 andrew andrew 1131 9月 2 23:45 dm04_copy構造函數的調用12.cpp -rwxrw-r-- 1 andrew andrew 800 7月 22 23:15 dm05_copy構造函數的調用場景3.cpp -rwxrw-r-- 1 andrew andrew 1459 7月 22 23:15 dm06_copy構造函數的第4種應用場景.cpp -rwxrw-r-- 1 andrew andrew 1472 7月 22 23:15 dm07_回顧復習.cpp -rwxrw-r-- 1 andrew andrew 680 7月 22 23:15 dm08_構造函數調用規則研究.cpp -rwxrw-r-- 1 andrew andrew 893 7月 22 23:15 dm09_深拷貝和淺拷貝.cpp -rwxrw-r-- 1 andrew andrew 1221 7月 22 23:15 dm10_構造函數初始化列表.cpp -rwxrw-r-- 1 andrew andrew 1436 7月 22 23:15 dm11_構造和析構綜合練習.cpp -rwxrw-r-- 1 andrew andrew 607 7月 22 23:15 dm12_構造中調用構造.cpp -rwxrw-r-- 1 andrew andrew 1328 7月 22 23:15 dm13_new和delete.cpp -rwxrw-r-- 1 andrew andrew 1484 7月 22 23:15 dm14_new和delete深入分析.cpp -rwxrw-r-- 1 andrew andrew 738 7月 22 23:15 dm15_static關鍵字.cpp -rwxrw-r-- 1 andrew andrew 650 7月 22 23:15 dm16_面向對象模型初探.cpp -rwxrw-r-- 1 andrew andrew 429 7月 22 23:15 dm17_面向對象模型this指針練習.cpp -rw-rw-r-- 1 andrew andrew 522 9月 3 00:10 test.cpp 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的C/C++实现读取当前文件夹下的文件-popen的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmake的使用-if-else的逻辑流
- 下一篇: 【2016年第4期】大数据应用系统的消息