gpt4 book ai didi

c - 我如何在我的 C 程序中验证当前打开了四个终端?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:58 25 4
gpt4 key购买 nike

所以我要先说这是我类的一个家庭作业项目。我应该确定用户在运行程序之前打开了四个终端窗口,我必须通过确定我是否可以从/dev/pts/以只读方式打开四个终端号缓冲区来做到这一点。然后我必须保存这前四个缓冲区,以便我可以再次打开它们以写入终端。我知道如何使用 fopen 打开文件,但我的问题是即使不再打开的终端仍然显示并且可以访问。我知道寻求家庭作业帮助是非常不受欢迎的,但我已经为此工作了几个小时,我不想为我写它,我只是想要一些指导。如何使用必须使用的方法检查是否打开了四个终端?这也是我的代码,所以也许你们中的一个可以看到我做错了什么。

#include <stdio.h>
#include <stdlib.h>

#define MAXLINE 100

int main(){
int i, ptsNum[4], ptsCount = 0;
FILE *fp;
char ptsName[20];

for(i = 0; i < 20; i++){
// Append the terminal number to the end of the buffer name
sprintf(ptsName, "/dev/pts/%d", i);
// Try to open the file
if((fp = fopen(ptsName, "r")) != NULL){
// Save the terminal number if the buffer exists
ptsNum[ptsCount] = i;
ptsCount++;
fclose(fp);
}
}

return 0;
}

最佳答案

好吧,你尝试打开终端,但是一旦你对它们进行计数,你就fclose(3) 它们,所以如果你想打开它们,不要做最后的 fclose(3) 在循环结束时。

关于c - 我如何在我的 C 程序中验证当前打开了四个终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36782615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com