3

好的,所以我正在尝试将加密文本写入文件。

出于某种原因,我收到了一个未在此范围内声明的编译错误。

这是我的 encryption.cpp 文件:

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

class encrypt{
    public:
        static void cryptText(std::string newpass)
        {
            int x = newpass.size();

            int output[x -1];

            for(int i = 0; i <= x -1; i++)
            {
                output[i] = (int)newpass[i];
                std::cout << char(output[i] + x);
                //Here I am trying to write output onto the file. For some reason, though,
                //I get the error.
                myfile.open ("passwords.thaddeus");
                myfile << output << std::endl;
                myfile.close();

            }

            std::cout << std::endl;

        }

};

我查看了 cplusplus.com 文件中的 Input/Output 文档。我将他们的示例程序复制到 Code::Blocks 中,它运行良好。但是当我尝试它时,我得到了错误。这很奇怪,因为我包括了 .

4

3 回答 3

8

你既没有声明也没有定义你的myfile变量。

因此,它在当前上下文中不存在,这就是您收到此错误的原因。

你错过了这部分代码ofstream myfile;

于 2013-10-16T13:29:25.177 回答
5

您错过了任何语言的基础知识……您的myfile定义在哪里?

于 2013-10-16T13:27:34.907 回答
4

首先,您需要使用ofstream,所以这样做using namespace std;

然后声明你的myfile对象:ofstream myfile;

一般经验法则:标准库从不包含以“my”为前缀的变量,供您在不声明的情况下使用。

于 2013-10-16T13:31:03.003 回答