Działanie na plikach

0

Witam. Chcialbym działać na pliku jako na stringu (plik tekstowy w formie kodu programu).

 

void funkcja(string plik, char znak1, char znak2, char znak3, char znak4){
(tutaj funkcja)

}

int main(){

	fstream plik1;
	plik1.open("program.txt", ios::in);
	
	if(!plik1){
 		cout << "Plik nie zostal otwarty" << endl;
 		return 1;
 	}	
	
	string plik;
	
	for(int i=0; i<2000; i++){
		plik[i]=plik1[i];
	}
	
	funkcja(plik, '/', '"', '*', '/n');
 	
return 0;
}

Jak to zrobic?

0
  1. Nie używaj bezmyślnie postinkrementacji: http://4programmers.net/Forum/1101404 przykład: http://ideone.com/6ITcN2
  2. Jak czytać z pliku znak po znaku dostałeś w poprzednim swoim temacie: http://4programmers.net/Forum/1210407
  3. Skoro możesz czytać z pliku znak po znaku to po kiego ci przepisywać go do string?
  4. Trochę za mało znaków zamierzasz uwzględniać, bo możesz mieć coś takiego: printf("to nie cudzysłów \" zamykający napis /* dopiero to zamyka napis ");
  5. Zapoznaj się z ifstream: ifstream fin("program.c");
  6. Zawsze możesz wczytać cały plik tak:
#include <string>
#include <fstream>
#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;

int main()
  {
   string content;
   ifstream fin("program.cpp");
   copy(istream_iterator<char>(fin>>noskipws),istream_iterator<char>(),back_inserter(content));
   cout<<content<<endl;
   return 0;
  }

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