Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Otwieranie wybranego pliku/katalogu

Ostatnio zmodyfikowano 2014-01-10 16:44
Autor Wiadomość
pekfos
» 2013-12-29 17:06:36
To się nawet nie kompiluje.
P-100537
patoxd
Temat założony przez niniejszego użytkownika
» 2013-12-29 17:35:52
Tak jak pisalem wczesniej, przez błąd `c_str' has not been declared
P-100550
pekfos
» 2013-12-29 17:40:06
Bo tak nie można zrobić. Twój kod z 1. strony tematu jest prawidłowy.
P-100553
patoxd
Temat założony przez niniejszego użytkownika
» 2013-12-30 12:11:58
Czyli to jest dobrze : ifstream plik( nazwaPliku, std::ios::in | std::ios::out ); ? Nie muszę podawać rozszerzenia po nazwaPliku ?
P-100622
pekfos
» 2013-12-30 12:47:22
Do wywołania ma trafić prawidłowa ścieżka. Nie ma znaczenia, jak to zorganizujesz.
P-100627
patoxd
Temat założony przez niniejszego użytkownika
» 2013-12-30 14:28:33
Chodzi o to, zeby program usuwał komentarze z wybranego pliku przez użytkownika
I mam coś takiego do tej pory:

C/C++
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
using namespace std;

int main()
{
    char wiersz[ 200 ];
   
   
    char nazwaPliku[ 100 ];
    cout << "Podaj nazwe pliku do otwarcia: " << endl;
    cin >> nazwaPliku;
   
    char nazwaPliku1[ 100 ];
    cout << "Podaj nazwe pliku pod jaka zapisac zmieniony plik: " << endl;
    cin >> nazwaPliku1;
   
   
    ifstream pr( nazwaPliku, std::ios::in ); //odczyt
   
    ofstream plik2( nazwaPliku1 ); //zapis
    int t;
   
    while( !pr.eof() )
    {
        pr.getline( wiersz, sizeof( wiersz ) );
       
        t = strlen( wiersz );
        for( int i = 0; i < t; i++ )
        {
            if( wiersz[ i ] == '/' && wiersz[ i + 1 ] == '*' )
            {
                for( int j = i; j < t; j++ )
                {
                    if( wiersz[ j ] == '*' && wiersz[ j + 1 ] == '/' )
                    break; }
            }
           
            else
            if( wiersz[ i ] != '/' && wiersz[ i + 1 ] != '/' )
                 plik2 << wiersz[ i ];
            else
            if( wiersz[ i ] == '/' && wiersz[ i + 1 ] == '/' )
                 break;
           
        }
       
       
        plik2 << endl;
    }
    pr.close();
    plik2.close();
   
    system( "PAUSE" );
    return 0;
}
Działa to tak, ze zapisuje do tego nazwaPliku1 plik, którego typ jest określany jako "plik", nie mozna go normalnie otworzyc, a po wybraniu,ze ma byc otwarty przez DevCpp wyswietla się tylko pusty dokument, bez żadnego kodu
P-100640
m4snow
kod jest ok
» 2013-12-30 16:46:32
Weź podawaj pełną nazwę pliku razem z rozszerzeniem w oba std::cin.
Jaki plik próbujesz zamieniać?
Jaka jest jego pełna ścieżka bezwzględna? (C:\(...)\plik.txt)

Jak startujesz to podaj plik jako to c:\(...)\plik.txt
i zapisz też do np c:\(...)\output.txt

powinno działać bo kod jest w miarę ok.
P-100663
patoxd
Temat założony przez niniejszego użytkownika
» 2013-12-31 11:00:33
Plik do otwarcia ma byc .cpp, zapisany może być .cpp albo .txt
P-100736
1 2 « 3 » 4
Poprzednia strona Strona 3 z 4 Następna strona