我在這個程序中遇到了相當困難的時間(見下面的代碼)。它應該是:C++文件訪問/輸入和輸出
創建26個組件的陣列做字母數字母表中的26個字母和行數的變量。
創建一個包含文本並將用作我的程序輸入的ASCII(或文本)文件。
調用該文件「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;
}
看起來'textinput.txt'與您的可執行文件不在同一個目錄中... –
我同意Pierre Fourgeaud。 – furas
您必須使用任何編輯器創建'textinput.txt'(帶有一些文本),並使用您的程序將其保存在目錄中。 – furas