#include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #define BUFSIZE 200 int main() { FILE *read_fp; char buffer[BUFSIZE+1];/*用於存放讀取的內容*/ int chars_read; memset(buffer,'\0',sizeof(buffer)); read_fp=popen("uname -a","r");//用於顯示內核版本 及如今時間 /*返回的是文件指針,所以-文件指針是要定義的*/ if(read_fp != NULL) { chars_read=fread(buffer,sizeof(char),BUFSIZE,read_fp);//返回讀取字符的個數,錯誤則爲-1 /*並讀取傳回的內容是什麼*/ if(chars_read > 0) { printf("Output was:-\n%s\n",buffer); } pclose(read_fp); exit(EXIT_SUCCESS); } exit(EXIT_FAILURE); } /*因些,使用popen到少要定義: 文件指針, 字符串 */
#include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #define BUFSIZE 50 int main() { FILE *read_fp; char buffer[BUFSIZE+1];/*用於存放讀取的內容*/ int chars_read; memset(buffer,'\0',sizeof(buffer)); read_fp=popen("ps ax","r");//用於顯示內核版本 及如今時間 /*返回的是文件指針,所以-文件指針是要定義的*/ if(read_fp != NULL) { while(chars_read > 0) { //返回讀取字符的個數,錯誤則爲-1 /*並讀取傳回的內容是什麼*/ chars_read=fread(buffer,sizeof(char),BUFSIZE,read_fp); buffer[chars_read-1]='\0'; printf("Reading %d:-\n %s \n",BUFSIZE,buffer); } pclose(read_fp); exit(EXIT_SUCCESS); } exit(EXIT_FAILURE); return 0; } /*因些,使用popen到少要定義: 文件指針, 字符串 */
#include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #define BUFSIZE 50 int main() { FILE *read_fp; char buffer[BUFSIZE+1];/*用於存放讀取的內容*/ int chars_read; memset(buffer,'\0',sizeof(buffer)); read_fp=popen("cat 13-3-*.cpp | wc -l","r");//用於顯示內核版本 及如今時間 /*返回的是文件指針,所以-文件指針是要定義的*/ if(read_fp != NULL) { while(chars_read > 0) { //返回讀取字符的個數,錯誤則爲-1 /*並讀取傳回的內容是什麼*/ chars_read=fread(buffer,sizeof(char),BUFSIZE,read_fp); buffer[chars_read-1]='\0'; printf("Reading %d:-\n %s \n",BUFSIZE,buffer); } pclose(read_fp); exit(EXIT_SUCCESS); } exit(EXIT_FAILURE); return 0; } /*因些,使用popen到少要定義: 文件指針, 字符串 */
#include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #define Buffer 100 int main() { FILE *write_fp; char buffer[Buffer + 1]; //把格式化的數據寫入某個字符串緩衝區。 //返回值:字符串長度(strlen) sprintf(buffer,"Once upon a time, there was...\n"); //********格式化輸出文件中的數據***********/// //-c:等價於-t c,選擇ASCII碼字符或者是轉義字符 write_fp=popen("od -c","w"); if(write_fp != NULL) { fwrite(buffer,sizeof(char),strlen(buffer),write_fp); pclose(write_fp); exit(EXIT_SUCCESS); } exit(EXIT_FAILURE); }
#include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <string.h> int main() { int data_processed; int file_pies[2]; const char some_data[]="123"; char buffer[BUFSIZ+1]; memset(buffer,'\0',sizeof(buffer)); if(pipe(file_pies)==0) { data_processed=write(file_pies[1],some_data,strlen(some_data)); printf("Wrote %d bytes\n",data_processed); data_processed=read(file_pies[0],buffer,BUFSIZ); printf("Read %d bytes: %s\n",data_processed,buffer); exit(EXIT_SUCCESS); } exit(EXIT_FAILURE); }