-
Notifications
You must be signed in to change notification settings - Fork 0
/
mScan.c
75 lines (61 loc) · 2.85 KB
/
mScan.c
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdio.h>
#include <stdlib.h>
// Define the size of the buffer for reading and writing data
// Definiti dimensiunea buffer-ului pentru citirea si scrierea datelor
#define BUFFER_SIZE 1024
int main() {
// Declare a FILE * variable to hold the reference to the opened file
// Declarati variabila de tip FILE * pentru a retine referinta catre fisierul deschis
FILE *fp;
// Open the file for reading and writing using the "rw" mode
// Deschideti fisierul pentru citire si scriere folosind modul "rw" 📁
// Change the new of the file to the desired one ("memory.dat" -> "vscode.exe")
// Schimbati numele fisierului cu cel dorit ("memory.dat" -> "vscode.exe")
fp = fopen("memory.dat", "rw");
if (fp == NULL) {
// Display an error message if the file could not be opened
// Afisati un mesaj de eroare daca fisierul nu a putut fi deschis
printf("Eroare: fisierul nu poate fi deschis!\n");
// End the program with error code 1
// Terminati programul cu codul de eroare 1
return 1;
};
// Declare a buffer for reading and writing data from and to the file
// Declarati un buffer pentru citirea si scrierea datelor din si in fisier ✍️
char buffer[BUFFER_SIZE];
// Read the data from the file and store it in the buffer
// Cititi datele din fisier si stocati-le in buffer
if (fread(buffer, BUFFER_SIZE, 1, fp) != 1) {
// Display an error message if the data could not be read from the file
// Afisati un mesaj de eroare daca datele nu au putut fi citite din fisier
printf("Eroare: datele nu au putut fi citite din fisier!\n");
return 1; // Terminati programul cu codul de eroare 1
};
// Modificati datele din buffer dupa cum este necesar
for (int i = 0; i < BUFFER_SIZE; i++) {
// In this example, we reverse each byte in the buffer
// Any data manipulation method can be used in this iteration
// In acest exemplu, inversam fiecare octet din buffer
// Orice metoda de manipulare se poate folosi in aceasta iteratie 👀
buffer[i] = ~buffer[i];
};
// Write the modified data back to the file
// Scrieti datele modificate inapoi in fisier
if (fwrite(buffer, BUFFER_SIZE, 1, fp) != 1) {
// Display an error message if the data could not be written to the file
// Afisati un mesaj de eroare daca datele nu au putut fi scrise in fisier
printf("Eroare: datele nu au putut fi scrise in fisier!\n");
// End the program with error code 1
// Terminati programul cu codul de eroare 1 😞
return 1;
};
// Close the file and free up the allocated resources
// Inchideti fisierul si eliberati resursele alocate
fclose(fp);
// Display a success message
// Afisati un mesaj de succes
printf("Memoria aplicatiei a fost citita si editata cu succes!\n");
// End the program with success code 0
// Terminati programul cu codul de succes 0 🙌
return 0;
};