Ciao a tutti. Mi sono appena iscritto e vorrei sottoporvi un problema per un progettino col linguaggio C.
Premetto che ho iniziato a studiarlo da poco e la strada è ancora lunga, ma come si dice la pazienza è la virtù dei forti.
Vengo al mio problema. Sto cercando di fare un programma che mi legge un file, (ottenuto con il comando dos - reg query "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\profilelist" /f *.bak > nomefile.txt) e dopo averlo letto si crei un file con le seguenti modifiche reg delete "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\profilelist\S-1-5-21-1528880063-3110720840-2128826722-1211.bak" /f .
Tutto ciò perchè non conosco librerie in C che gestiscano il registro di windows come in C++.
Problema numero uno: come aggiungere le virgolette in quelle posizioni (prima di HKLM... e dopo .bak) - la stringa dopo la voce ..\profilelist\.. cambia (l'ideale sarebbe cercare per la voce .bak).
Problema numero due: il comando reg query genera un nomefile.txt con un \n e scrive sulla seconda riga, come faccio a dirgli leggi dalla seconda riga?
Problema numero tre: se le stringhe trovate fossero più di due?

A grandi linee avevo pensato (però mi sembra troppo macchinoso):

1) un richiamo al comando system ("reg query "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\profilelist" /f *.bak > nomefile.txt")
2) una funzione per aprire il file nomefile.txt in lettura e caricare la stringa in un buffer
3) concatenare il contenuto del buffer (strncat) con una stringa che avesse il comando reg delete...
4) concatenare nuovamente per aggiungere la parte finale /f
5) scrivere il file con un estensione .bat ed seguirlo con un system.
Spero di essermi spiegato bene. E' fattibile?
Grazie in anticipo per qualsiasi suggerimento.