odczytywanie zapisywanie plików

0
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib> // Needed for exit()
using namespace std;

int main()
{
    ifstream inputFile;
    string fileName;

    cout << "Wprowadz nazwe pliku: ";
    getline(cin, fileName);

    // Open the file
    inputFile.open(fileName.c_str());

    fileName.erase(fileName.find_last_of("."), string::npos);

    fileName += "_nowy.csv";
    ofstream file(fileName.c_str());
    // Check for successful opening
    if (inputFile.fail())
    {
        cerr << "Blad przy otawrciu pliku" << endl;
        return (1);
    }

    // Close the file
    inputFile.close();
    return 0;
}

Czy ktoś mi może powiedzieć czemu ten kod nie działa kiedy wpisuje nazwe pliku ?

0

Co znaczy nie działa? Weź pod uwagę, że Twój plik musi zawierać . w nazwie.

0

U mnie działa. Sprawdź czy dobrze wpisujesz nazwę pliku, ważne żebyś podała rozszerzenie.
Jeśli masz plik "przyklad.txt" to musisz podać "przyklad.txt" a nie samo "przyklad".

0

Ew. mogłyby się dziać jakieś jaja, jeśli używasz znaków spoza ASCII, a kodowanie w terminalu masz inne niż w systemie plików.

0
Althorion napisał(a):

Ew. mogłyby się dziać jakieś jaja, jeśli używasz znaków spoza ASCII, a kodowanie w terminalu masz inne niż w systemie plików.

To też, na przykład polskich znaków mieć nie możesz w nazwie pliku jeśli używasz fstream. Musiałabyś dać wfstream i wstring

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0