逐行读取文件到可索引的结构中

时间:2014-01-18 21:32:29

标签: c++ arrays string encryption char

我面临的问题是我不确定如何创建动态char数组;因为我不能预先指定尺寸。

到目前为止,这是我的代码:

#include <string>
#include <iostream>
#include <vector>
using namespace std;

void encrypt()
{
    vector<string> myString;
    char alphabet[2][26] = {
        {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},
        {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}
    };
    cout << ">> Enter the string to be encrypted " << endl;
    getline(cin, myString);
    int length = myString.length();
    cout << length;
}

我为此尝试了大约十亿个不同的代码片段。有谁能够帮我?我正在寻找一个具有工作代码的答案,该代码创建一个动态数组,其中用户输入(将是多行文本)存储在数组中,其中可以对数组的每个索引执行数学公式。

2 个答案:

答案 0 :(得分:0)

我听到你要求的是将整个文件读入一个字符串,这样你就可以“加密”字符串。 我从其他网站复制了这段代码

string str,strTotal;
getline(cin,str);
while ( cin ) {
   strTotal += str;
   getline(cin,str);
}

答案 1 :(得分:0)

要加载代码,您可以简单地使用以下内容:

vector<string> tmp;
string foo;

while(getline(cin,foo) {
    tmp.push_back(foo);
}

for(int i=0; i<tmp.size();i++) {
    for(int j=0;j<tmp[i].size();i++) {
        // here you can operate on strings
        // e.g.
        // tmp[i][j]='x'
    }
}

要使用它,您必须从命令行调用您的程序:

myProgram << input.txt >> output.txt