Read character data, advancing pointer.
Read reads data from the input source and advances the data pointer to the source, unlike Peek.
This method is functionally identical to the Microsoft .NET method StreamReader.Read.
szukam jakiegoś dobrego sposobu na konwersję Stream do tablicy unsigned Char i jakoś nie mam pomysłów, tj. wpadłem na jeden:
KOD cpp: UKRYJ
System::IO::StreamReader ^ sr = gcnew System::IO::StreamReader(data);
unsigned char str[bufsize];
str = (unsigned char)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi().ToPointer();
unsigned char str[bufsize];
str = (unsigned char)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi().ToPointer();
ale dodatkowo wymagałoby robienia tego bajt po bajcie. Poza tym, to droga na około. Zależy mi na szybkości działania. Oczywiście Stream należy do .Net a unsigned char z stdlib (żadnego wchar_t i podobnych tablic cli).
Z pewnością można to zapisać w 1-2 linijkach. Ktoś może coś doradzić ? (Zakładamy że strumień ma dokładnie taką samą wielkość co tablica)
Wcześniej mam podobnie, z tą różnicą, że z .NET Stringa do char (format do funkcji fopen)
KOD cpp: UKRYJ
char aa = (char)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(file_path).ToPointer();
Nie wiem jak tego typu funkcję odbijają się na szybkości działania. Przy jednorazowym wywołaniu to oczywiście nie ma znaczenia, ale jest to wstęp do funkcji liczącej CRC32 dla kilkuset małych plików lub strumieni.






