0

这是我的第一个项目,我正在尝试自学,所以请多多包涵,不要对我的编程知识做任何假设。

我想要做的是创建一个控制台程序,它将获取文件 Text.txt,在这种情况下,读取它,将 ASCII 转换为十六进制,然后用十六进制代码覆盖 Text.txt 文件,如果再次运行,将逆转该过程。

有没有办法在命令的基础上做到这一点,这样我就必须输入一些东西,让我们在控制台实际初始化这个过程之前说“开始”?最重要的是,保持控制台打开,这样我就可以输入“开始”(或者另一个词,如果这是不可能的)并让它撤消这个过程?

我目前已将其添加到末尾以保持程序打开,但是在执行上述我想做的事情时我将如何使用它?或者有没有更好的方法?[代码] std::string in;

while ((std::cin >> in) && (in != "exit"))
{
}
return 0;
}

我知道我需要使用 fstream 来导入和导出,但我不确定如何在完成后立即关闭所有内容或如何将其绑定以使其首先转换十六进制/ASCII。

感谢您提供的任何帮助或提示。

编辑:对不起,我的问题是:

将Text.txt文件中的ASCII转成hex然后导出的基本流程是什么?我对 fstream 概念本身有基本的了解,但我不太确定如何将它与文本的转换一起实现,而且我真的不知道从哪里开始确切地将文本转换为十六进制.

4

1 回答 1

0

你有几个问题捆绑在这里,我想你可能只是不知所措。

  1. 有没有办法在命令的基础上做到这一点,所以我必须输入一些东西
  2. 在做我想做的事情时,我将如何使用它?
  3. 但我不确定如何在完成后立即关闭所有内容
  4. 如何绑定它以使其首先转换十六进制/ASCII。

首先将问题分解为多个部分,然后逐个实施。首先:文件 I/O——创建一个从文件中读取的函数(或者更好的是:一个类)。

下一步:添加将值从 ASCII 转换为十六进制的函数或方法。

下一步:添加一个实现终端控制功能/诅咒/等的类或函数。

将它们分开,它们将更容易设计、更容易测试并且更容易从 SO 获得帮助。

于 2013-07-03T21:57:33.837 回答