1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
char line[1000];
char *p;
CString pathOldReg = _T("C:\\Device\\testOld.reg");
CString pathNewReg = _T("C:\\Device\\testNew.reg");
// on ouvre la source en lecture
FILE *ficOldReg = fopen(pathOldReg, "r");
// on ouvre la cible en écriture
FILE *ficNewReg = fopen(pathNewReg, "w");
if( !ficOldReg || !ficNewReg ) return FALSE;
while(fgets(line, sizeof line, ficOldReg)){
<div style="margin-left:40px">
// on récupère la ligne lue jusqu'au retour-chariot
p = strchr(line, '\n');
if(!p){
<div style="margin-left:40px">
//"Read line is too long"
return FALSE;</div>}
//on transforme le tableau line en chaîne de caractères
*p = '\0';
std::string sMyLine = line;
CString sLine(sMyLine.c_str());
sLine.Replace(_T("\\bhou"), _T("\\blah"));
// on écrit dans le fichier final
if(fprintf(ficNewReg, sLine.GetString()) == EOF){
<div style="margin-left:40px">
// "Cannot write new Reg file"
return FALSE;</div>}</div>}
fclose(ficNewReg);
fclose(ficOldReg);
return TRUE; |
Partager