Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char* argv[]){
  8. int size;
  9. int i=0;
  10. char * buffer;
  11. char *name;
  12. char* info={"Usage: file2array.exe <infile> <output> <'c' optional for compress>\n"};
  13. if(argv[1]!=NULL && argv[2]!=NULL){
  14. fstream infile(argv[1], ios::binary | fstream::in | ios::ate);
  15. name=new char[sizeof(argv[2])];
  16. strncpy(name,argv[2],sizeof(argv[2]-1));
  17. strcat(name,".h");
  18. fstream outfile(name, fstream::out);
  19. if(infile.is_open()){
  20. size=infile.tellg();
  21. buffer = new char[size];
  22. infile.seekg(0,ios::beg);
  23. outfile.seekg(0,ios::beg);
  24. outfile<<"#ifndef _"<<argv[2]<<"_H_"<<endl<<"#define _"<<argv[2]<<"_H_"<<endl;
  25. outfile<<"char "<<argv[2]<<"["<<size<<"]"<<"{"<<endl;
  26. outfile.flags(ios::showbase | ios::hex);
  27. for(i;i<=(size-1);i++){
  28. infile.seekg(i,ios::beg);
  29. if((i%20)==19){outfile<<endl;}
  30. outfile<<infile.get();
  31. outfile<<", ";
  32. }
  33. outfile<<endl<<"};"<<endl<<"#endif"<<endl;
  34. cout<<"File conversion done!"<<endl;
  35. }
  36. else{cout<<"Error while opening file "<<"'"<<argv[1]<<"'"<<endl;}
  37. infile.close();
  38. outfile.close();
  39. }
  40. else{cout<<info;}
  41. delete[] name;
  42. delete[] buffer;
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement