gpt4 book ai didi

C++ 文件访问/输入和输出

转载 作者:行者123 更新时间:2023-11-30 02:53:47 24 4
gpt4 key购买 nike

我在使用这个程序时遇到了困难(请参阅下面的代码)。它应该:

  1. 创建一个包含 26 个组件的数组,用于计算字母表中 26 个字母的字母数和一个用于行数的变量。

  2. 创建一个包含文本的 ASCII(或文本)文件,并将用作我的程序的输入。

  3. 将该文件称为“textinput”,然后将输出存储在名为“textoutput”的文件中。

谁能告诉我我做错了什么?我不断收到“找不到文件”错误。

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <cstdlib>
#include <fstream>

using namespace std;

int main()
{
int lineCount = 0;
int letterCount[26];

for(int i = 0; i < 26; i++)
letterCount[i] = 0;

ifstream infile;
infile.open("textinput.txt", ios::in);

if(!infile)
{
cerr<<"File does not exist."<<endl;
exit(1);
}

ofstream outfile;
outfile.open("textoutput.txt", ios::out|ios::binary);

if(!outfile)
{
cerr<<"File cannot be opened."<<endl;
exit(1);
}
char data[100];
outfile<<data;

while(infile>>data)
{
outfile<<data<<endl;
}

while(infile)
{
char ch1 = infile.get();
if(ch1 == '\n')
{
lineCount++;
continue;
}

int asciiNum = (int)ch1;
if(asciiNum > 96)
{
asciiNum = asciiNum - 97;
}
else
{
asciiNum = asciiNum - 65;
}

letterCount[asciiNum]++;
}
infile.close();
outfile.close();
system("PAUSE");
return 0;
}

最佳答案

有趣的是,“找不到文件”错误在您的程序中是不可能出现的。1 所以,我冒昧地建议您需要限定您的路径可执行!

比如说,你用类似的东西编译

gcc program1.cpp -o program1

要执行,你必须使用

./program1

因为 program1 不会工作。原因是有 99% 的把握,您当前的工作目录不在可执行文件的搜索路径中(您希望保持这种状态)。

除此之外,是的,请确保 textinput.txt 存在于同一目录中。


1(程序中没有这样的错误信息,你应该知道:你编的!)

关于C++ 文件访问/输入和输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com