Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- EditFileLine function
- Copyright© 2007-2009 Infernus' Group
- All Rights Reserved
- Special Thanks: DracoBlue
- */
- #include <a_samp>
- forward fcopy(oldname[], newname[]);
- forward EditFileLine(filename[], line, new_content[]);
- public fcopy(oldname[], newname[]) { // By DracoBlue
- new File:ohnd,File:nhnd;
- if (!fexist(oldname)) return false;
- ohnd=fopen(oldname,io_read);
- nhnd=fopen(newname,io_write);
- new buf2[1];
- new i;
- for (i=flength(ohnd);i>0;i--) {
- fputchar(nhnd, fgetchar(ohnd, buf2[0],false),false);
- }
- fclose(ohnd);
- fclose(nhnd);
- return true;
- }
- public EditFileLine(filename[], line, new_content[])
- {
- if(!fexist(filename)) return false;
- new tmp[0x100];
- new partfilename[0x28];
- format(partfilename, 0x28, "%s.part", filename);
- new File:fpr = fopen(filename, io_read);
- new File:fpw = fopen(partfilename, io_write);
- new g_line = 0;
- while(fread(fpr, tmp, 0x100))
- {
- g_line++;
- if(g_line == line) fwrite(fpw, new_content);
- else fwrite(fpw, tmp);
- }
- fclose(fpw);
- fclose(fpr);
- fcopy(partfilename, filename);
- fremove(partfilename);
- if(g_line < line) return false;
- return true;
- }
Add Comment
Please, Sign In to add comment