Добрый вечер всем. Начну с того, что я совершенно не знаком с программированием и языком C++.Файл не открывается с ifstream C++ на IOS Mac
У меня возникла проблема с открытием файла, чтобы использовать его в моей программе. Я прочитал подобный пост и последовал рекомендациям. Я использую ifstream для объявления моего входного файла и включаю полный путь к файлу, который я хочу открыть. Я попытался переместить файл в другие папки, в том числе в файлах рабочей области, я попытался открыть его только с титром, я включил команду «ios :: in» после объявления моего входного файла; независимо от изменений, которые я сделал, я продолжаю получать то же сообщение об ошибке, которое я создал:
Не удалось открыть.
Я пробовал 3 разных компилятора, на данный момент используя CodeRunner. Я получаю исходные сообщения, напечатанные в выходном файл:
Эта программа считывает и вычисляет статистику для слов на входной файл и создает выходной файл с результатами. Он рассчитает общее количество слов, количество слов с разным числом букв и среднее количество букв на слово.
Есть ли что-то, что мне не хватает в объявлениях переменных? Не хватает ли каких-либо директив? Является ли это той командой, которую я использую для ее открытия? Благодарим вас за внимание и оцените любые идеи или решения.
// Directives
#include <iostream>
#include <cstdlib>
#include <cassert>
#include <fstream>
#include <string>
using namespace std;
void words_statistics(ifstream & fin, ofstream & fout);
// Opens a file, reads it, computes statistics of for the words on the file.
int main(){
// Variables declaration
ifstream fin; //Variable type for Input files.
ofstream fout; // Variable type for output files.
string inFile, outFile;
fout << "This program reads and computes the statistics for the words on a input file \n";
fout << "and creates an output file with the results.\n";
fout << "It will compute the total number of words, amount of words with different number \n";
fout << "of letters and the average quantity of letters per word.\n";
// Open input file to read-in
fin.open("/Macintosh HD/Users/antonydelacruz/Downloads/words.txt");
if(fin.fail()) // Generate Error message input file.
{
cout << inFile << " Failed to open."<< endl;
exit (1);
}
fout.open("/Macintosh HD/Users/antonydelacruz/Downloads/words_statistics.txt");
if(fout.fail()) // Error message in case that the program can't access output file.
{
cout << inFile << " Failed to open file Words Statistics."<< endl;
exit (1);
}
// Function call
words_statistics(fin, fout);
fin.close(); // Close input File.
fout.close(); // Close output file.
return 0;
}
// Function Definition
void words_statistics(ifstream & fin, ofstream & fout)
{
// Variable Declaration
std::string inFile, outFile;
int lettersQuantity=0; //Variable to accumulate the amount of letters per word.
int totalWords=0; // Variable to accumulate the total amount of Words.
double avg=0;
int un, deux, trois, quatre, cinq, six, sept, huit, neuf, dix, onze, douze, treize, otre; // Variables to accummulate words depending on the amount of letters that they have.
un = deux = trois = quatre = cinq = six = sept = huit = neuf = dix = onze = douze = treize = otre=0;
while (!fin.eof()) { //Specifies to noly use the switch feature while there is data to read.
(fin >> inFile); // Extracts data from file.
lettersQuantity++; // Adds the amount of letters per word.
totalWords++; // Adds the total amount of words
switch (lettersQuantity){ //Evaluates each word and adds it to a category depending on how many letters the word has.
Спасибо за наблюдение , Я внес изменения, но это не причина, почему файл не открывается. Он продолжает выдавать сообщение об ошибке. – antonydelacruz