如何安全地关闭C 模仿外壳
How to safely close a C++ mimic of a shell
我正在尝试在C 中编码显示提示符($
)并等待用户输入的基本外壳。我可以将其删除,但是问题是程序在用户输入的第一次执行后结束。
我有提示和命令的课程。提示类显示提示,获取用户输入,解析它,并调用适当的命令 -> execute()函数。第一个命令执行后,如何使程序返回显示命令提示符并要求输入?当用户键入exit
时,如何安全退出整个程序?
下面是我运行时发生的情况的片段。我想要的是,在hello
之后,$
再次显示(并等待输入)。
$ ls -a && echo hello
. a.log a.out command.h or.h separate.h tmp.log
.. and.h base.h main.cpp Prompt.h tmp.cpp tst
hello
我想我想知道的是,如何创建自己的退出功能,使Main返回?谢谢!
我决定只使用调用std :: exit(0)的函数。这可能/可能不是理想的选择,但是由于我的程序很小,我希望它应该没事的。
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 虚拟决赛作为安全
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 如何将元素添加到数组的线程安全函数?
- 函数何时会在c++中包含stack_Unwind_Resume调用
- C++中的线程安全删除
- 通过网络、跨平台传递std::变体是否安全
- Python中的for循环与C++有何不同
- 在std::thread中,joinable()然后join()线程安全吗
- 使用std::istream::peek()总是安全的吗
- 从值小于256的uint16到uint8的Endian安全转换
- 在c++队列中使用pop和visit实现线程安全
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- 全局变量 多读取器 一个写入器多线程安全?
- 安全到标准:移动会员?
- AcquireCredentialsHandleA() 返回 PFX 文件的0x8009030e(安全包中没有可用的凭据
- 共享队列的线程安全