从.txt导入并转换为十六进制然后导出,反之亦然C ++

时间:2013-07-03 21:45:18

标签: c++ hex ascii fstream

这是我的第一个项目,我正在努力教自己,所以请耐心等待,不要对我的编程知识有所了解。

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

有没有办法在命令的基础上执行此操作,以便我必须输入内容,在实际初始化此过程之前,先让“开始”进入控制台?最重要的是,保持控制台打开,这样我就可以输入“开始”(或其他词,如果这是不可能的)并让它撤消过程?

我目前已经将这个问题添加到最后以保持程序开放,但是如果按照上面提到的那样做我想做的事情,我将如何使用它?还是有更好的方法? [码]             std :: string in;

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

  
      
  1. 有没有办法在命令的基础上执行此操作,以便我必须输入内容
  2.   
  3. 如上所述,我在做我想做的事情时如何使用它?
  4.   
  5. 但我不知道如何在完成后立即关闭所有内容
  6.   
  7. 如何将其绑定以使其首先转换为十六进制/ ASCII。
  8.   

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

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

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

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