FILE ls = popen("ls /dev/ttyUSB --color=never", "r");
时间: 2023-07-21 17:04:54 浏览: 172
在您提供的代码中,将`FILE *ls`改为了`FILE ls`,这是不正确的。`ls`应该是一个指向`FILE`结构的指针,而不是一个`FILE`结构本身。
正确的代码应该是:
```cpp
FILE *ls = popen("ls /dev/ttyUSB* --color=never", "r");
```
这样定义的`ls`是一个指向`FILE`结构的指针,可以正确地执行后续的文件操作。
相关问题
char command[] = "/usr/bin/sn_core.elf getstat 2>/dev/null";fp = popen(command, "r");warning: assignment makes pointer from integer without a cast
这个 warning 的原因是因为 `fp` 变量的类型是一个指针类型,但是 `popen` 函数返回的值并没有被强制转换成指针类型。这可能会导致程序运行时的错误,因为你试图将一个整数解释为指针类型,但是这个整数并没有被正确地初始化为指针变量。你可以通过将返回值强制转换成指针类型来解决这个问题,例如:
```
fp = (FILE *)popen(command, "r");
```
这样就可以消除这个 warning 了。
import subprocess # 设置FlightGear启动参数 flightgear_args = [ "--fg-root=/path/to/flightgear", "--fg-scenery=/path/to/scenery", "--timeofday=noon", "--lat=37.524", "--lon=-122.06899", "--altitude=1000", "--heading=90", "--disable-random-objects", "--disable-ai-models", "--disable-ai-traffic", "--disable-ai-formation", "--disable-real-weather-fetch", "--disable-random-vegetation" ] # 启动FlightGear flightgear_process = subprocess.Popen(["/path/to/flightgear/bin/fgfs"] + flightgear_args) # 启动PyQt5窗口 from PyQt5.QtWidgets import QApplication, QWidget app = QApplication([]) widget = QWidget() widget.show() app.exec_() # 关闭FlightGear flightgear_process.kill()这段程序中需要手动修改的地方有哪些
这段程序中需要手动修改的地方包括:
1. flightgear_args列表中的"--fg-root=/path/to/flightgear"和"--fg-scenery=/path/to/scenery"需要替换为实际的FlightGear安装目录和场景数据目录路径。
2. flightgear_args列表中的"--lat=37.524"和"--lon=-122.06899"需要替换为实际地理位置的纬度和经度。
3. flightgear_args列表中的"--altitude=1000"和"--heading=90"可以根据需要修改为实际的起飞高度和飞行方向。
4. 代码中的"/path/to/flightgear/bin/fgfs"需要替换为实际的FlightGear可执行文件路径。
阅读全文