繁体   English   中英

如何为.txt文件字符串编程不同的输出

[英]How to program different outputs for a .txt file string

我当前的程序似乎有问题。

我正在尝试做的是创建一个程序,该程序输出在.txt文件中找到的文本流的可能解密。

到目前为止,我已经创建了程序,但是遇到了问题。

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main(){

    ifstream inputFile;

    string message = " ";
    int lengthOfMessage, counter = 0;
    int ord = 0;
    char newChar;
    inputFile.open("Jumbled Message.txt");

    if(!inputFile){
        cout<<"Input File Cannot Be Found"<<endl;
    }

    while(inputFile)
        getline(inputFile, message);                   
        lengthOfMessage = message.length();

        for(int i=0; i < lengthOfMessage; i++){

            ord = int(message[i]);
            ord += 1;
            newChar = char(ord);

        cout<<"Run"<<counter<<" unjumbled: "<<newChar<<endl;
        message= " ";
        counter ++; 
    }
}

基本上,程序运行时,每个移位量旁边都会显示一次文本移位的每个ASCII值。

例如:

Run 0 Unjumbled: \
Run 1 Unjumbled: 2
Run 2 Unjumbled: x

如前所述,我正在尝试为程序中的每次运行创建不同的可能的消息输出。

您可能需要在显示完整字符串之前将其转换。 然后进入文件的下一行。

在这里,我做了一个示例,将文件中的一行转换为所有可能的值并显示它们,然后重复下一行直到文件结束。

#include <iostream>
#include <string>
#include <fstream>

int main()
{
  std::ifstream         inputFile;
  std::string           jumbled_message;
  std::string           unjumbled_message;
  int                   line = 0;

  inputFile.open("Jumbled Messages.txt");
  if (!inputFile)
  {
      std::cerr << "Input File Cannot Be Found" << std::endl;
      return 1;
  }

  while (inputFile)
  {
      getline(inputFile, jumbled_message);
      unjumbled_message.resize(jumbled_message.size());
      for (int shift = 0; shift < 255; shift++)
      {
          for(size_t i = 0; i < jumbled_message.size(); i++)
          {
              unjumbled_message[i] = jumbled_message[i] + shift;
          }
          std::cout<< "Line" << line << " - shift: " << shift
                   << " - unjumbled: "<< unjumbled_message
                   << std::endl;
      }
      unjumbled_message.clear();
      line++;
  }
  return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM