Witam, prosze o pomoc z n/w programem. Nie wiem dlaczego nie dopisuje mi do jednego wektora V, liczb z wewktora V2.
#include <windows.h>
#include <cstdlib>
#include<cstdio>
using namespace std;
#define BYTEStoREAD 14
int main() // Mapp1
{
DWORD readed = 0, writed=0, n=0;
char buf[BYTEStoREAD], buf1[BYTEStoREAD];
char nameF[] = "C:\\Users\\Ja\\Desktop\\V.txt";
double V[18] = {2,4,5,6,6,3,2,2.1,3,4,4.32,5.5}, V1[18], V2[4]={6,4,3.5,1}, V3[18], *pB ;
HANDLE f, ff, fm, b, fa;
//---Zapisanie do pliku V.txt wektora lliczb double
f = CreateFile(nameF, GENERIC_WRITE,0,0, CREATE_ALWAYS, 0, 0);
WriteFile(f, V, 96, &writed, NULL);
printf("Rozmiar pliku f: %d WritedV: %d \n", GetFileSize(f, NULL), writed);
CloseHandle(f);
//---Odczytanie pliku i prawdzenie/wydruk kontrolny
ff = CreateFile(nameF, GENERIC_READ,0,0,OPEN_EXISTING , 0, 0);
ReadFile(ff, (double*)V1, 96, &readed, NULL);
printf("ReadedV1: %d\n", readed);
printf("Tablica V-rozmiar: %d , Tablica V1-rozmiar %d \n", sizeof(V), sizeof(V1));
while (n<12){
printf("%d - %.2f \n",n+1, V1[n]);
n++;}
CloseHandle(ff);
b = CreateFile(nameF, GENERIC_WRITE|GENERIC_READ,0,0, OPEN_EXISTING, 0, 0);
//--------------Utworzenie obiektu reprezentujacego plik zmapowany
fm = CreateFileMapping(
b, // wskaznik na ObiektPlikowy od CreateFile
NULL, // standardowe atrybuty bezpieczenstwa
PAGE_READWRITE, // czytanie i pisanie (powiazany z 2-gim param. CreateFile)
0, // maly plik
sizeof(V), // rozmiar pliku
NULL ); // bez wlasnej nazwy
//---- Przydział PAO plikowi
pB = (double*)MapViewOfFile(
fm, // uchwyt zwrócony przez CreateFileMapping
FILE_MAP_WRITE, // tylko do pisania
0, // maly plik
0, // mapowanie od poczatek pliku
0 ); // mapowania calego pliku */
memcpy(pB+writed, V2 , 50); // bezposredni zapis do PAO
UnmapViewOfFile((void *)pB); // zwolnienie pamieci przeznaczonej na odwzorowanie pliku
CloseHandle(b); // zamkniecie uchwytow do Obiektów j¹dra*/
readed=0;
fa = CreateFile(nameF, GENERIC_READ,0,0, OPEN_EXISTING, 0, 0);
ReadFile(fa, V1, 150, &readed, NULL);
printf("ReadedV1: %d\n", readed);
printf("Tablica V-rozmiar: %d , Tablica V1-rozmiar %d \n", sizeof(V1), sizeof(V1));
CloseHandle(ff);
n=0;
while (n<16){
printf("%d - %.2f \n",n+1, V1[n]);
n++;}
/*FILE *pF = fopen(nameF, "r");
fread(V3, sizeof(V1),18, pF);
fclose(pF);
n=0;
while (n<17){
printf("%d - %.2f \n",n+1, V3[n]);
n++;}*/
/*
/* puts("Odczyt funkcjami systemu Windows po modyfikacji");
ff = CreateFile(nameF, GENERIC_READ, 0,0, OPEN_EXISTING, 0,0);
printf("rozmiar pliku: %d \n", GetFileSize(ff, NULL));
ReadFile(ff, buf1, BYTEStoREAD, &readed, NULL);
puts(buf1);
CloseHandle(ff);
FILE *pF = fopen(nameF, "r");
while ((zn=getc(pF)) !=EOF) putc(zn, stdout);
fclose(pF);
puts("-----Odczyt kontrolny funkcjami jezyka C++");
char zn;
FILE *pF = fopen(nameF, "r");
while ((zn=getc(pF)) !=EOF) putc(zn, stdout);
fclose(pF);
// getchar(); */
return 0;
}