[C++] Otwieranie wybranego pliku/katalogu
Ostatnio zmodyfikowano 2014-01-10 16:44
pekfos |
» 2013-12-29 17:06:36 To się nawet nie kompiluje. |
|
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 |
|
pekfos |
» 2013-12-29 17:40:06 Bo tak nie można zrobić. Twój kod z 1. strony tematu jest prawidłowy. |
|
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 ? |
|
pekfos |
» 2013-12-30 12:47:22 Do wywołania ma trafić prawidłowa ścieżka. Nie ma znaczenia, jak to zorganizujesz. |
|
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: #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 ); ofstream plik2( nazwaPliku1 ); 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 |
|
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. |
|
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 |
|
1 2 « 3 » 4 |