popen和fread
时间: 2023-08-31 19:08:13 浏览: 198
popen和fread是C语言中的两个函数。
popen函数是一个用于执行一个shell命令并返回一个文件指针的函数。它的原型为:
```c
FILE *popen(const char *command, const char *mode);
```
其中,command参数是要执行的shell命令,mode参数是文件的打开模式(例如"r"表示读取,"w"表示写入)。
popen函数会创建一个管道,fork一个子进程,并在子进程中执行command命令。然后根据mode参数,将父进程和子进程之间的管道连接到对应的文件指针上,并返回该文件指针。
而fread函数是一个用于读取数据块的函数。它的原型为:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
其中,ptr是一个指向存储读取数据的缓冲区的指针,size是每个数据块的大小,count是要读取的数据块的数量,stream是指向要读取的文件的文件指针。
fread函数会从指定的文件中读取数据,并将其存储到缓冲区中。它会返回实际读取的数据块的数量。
所以,popen函数可以用来执行一个shell命令,并通过返回的文件指针来读取命令的输出。而fread函数则可以用来读取文件中的数据块。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [C-fopen,fwrite,fread,fseek,fgets,popen,access笔记](https://blog.csdn.net/weixin_33711647/article/details/86008274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [C接口,fread和fgets和popen](https://blog.csdn.net/wtl666_6/article/details/126733360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文