C/C++ :: Separate Byte Of Array Into Nibble For New Array
Oct 1, 2012
How can I separate byte array and put nibbles in a new array?
when I try following:
byte in[]={0xab,0x11,0x22,0x33,0xbb};
byte out[10];
void seperatebyte(byte* input, byte* output) {
for(int i = 0;i<sizeof(input);i++) {
output[i*2] = (input[i] >> 4) & 0xf;
output[(i*2)+1] = input[i] & 0xf;
}
}
seperatebyte(in,out); //gives output of
10 11 1 1 184 1 184 0 0 0
I expect 10 11 1 1 2 2 3 3 11 11
View 2 Replies
ADVERTISEMENT
Jun 25, 2014
I basically want to create a save editor application that will enable people to alter various values in the save by clicking on releveant buttons and then also for the editor to auto update the checksum when changes are done.
The save file is in hex so from what I can gather I would need to create a button to open the file using 'open file dialogue' and then read the file into a byte array so that the values can be called at any time when a particular butto is pressed and the application will then seek to the point in the file to make the required changes.
View 3 Replies
View Related
Oct 7, 2014
I have an application that has its own embedded web server. I am trying to add jQuery/Ajax file upload capabilities to the application however, I am running into issues getting the posted file. The jQuery/Ajax portion is similar to this method here. Due to the way the webserver was written (its in a dll and I do not have access to the source), the posted file comes in as a byte[]. If I try to save the byte array directly to file using:
File.WriteAllBytes("path", ByteArray)
I end up with a corrupt file that I cannot open. I believe this is because the byte array also contains the posted file header info (Content-Disposition, name, filename, etc.). If I view the contents of the byte array using:
System.Text.Encoding.Default.GetString(ByteArray)
the header info can be viewed as:
------WebKitFormBoundaryQfPjgEVpjoWgA5JL
Content-Disposition: form-data; name="0"; filename="someimage.png"
Content-Type: image/png
‰PNG
Based on the selected file size and the size of the byte array, the entire file is in the byte array. How can I go about extracting and saving the posted file from the byte array?
View 2 Replies
View Related
Dec 5, 2014
I'm trying to understand why a conversion from a byte array (unsigned char) to a double works when done one way and not antoher.
In the example code I test by hard coding an unsigned char array of the same bytes that the double consists of.
When I copy the bytes to a long long and cast to double the result is not the original double but if I use a struct the bytes can be set and the conversion happens.
Seems to me that both ways should work. I'd just like to know what is going on with the "struct way" that makes the conversion correct. I see in debugger that the bytes in memory are the same for piAsLong and u.bytes.
My compiler is VS 2012 and a long long and double are both 8 bytes (tested with sizeof). This is learning activity only.
Code:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
union {
double d;
[code]....
View 6 Replies
View Related
Nov 18, 2012
I'm having trouble reading a block of bytes into a vector of short ints. My code is as follows:
Code:
FileStream.seekg(2821);
vector<short> g_Data;
int iter = 0;
g_Data.reserve(maxNumOfInts);
[Code] ....
The relevant block of data starts at offset 2821 in the file. Every two bytes are a signed short integer. What's odd is that it's giving me the correct results only part of the time. At offset 1052421 and 1052422 there are two bytes 40 and 1F that are correctly read in as 8000, but at offset 1052415 and 1052416 bytes 88 and 13 are read in as -120 instead of 5000.
I don't see anything wrong with my code, though, unless I'm misunderstanding completely how to convert an array of two bytes into a single float. Is my method correct? Better still, is there some way to just convert en mass an array of bytes into a vector of signed short ints?
View 5 Replies
View Related
Apr 23, 2012
I'm trying to parse some binary data in the form of an array of bytes and I've come across something that is confusing me related to the representation of data as chars versus ints. It's a bit of a long story, but the byte array contains a mixture of character data and integer data which I' having trouble unravelling. The problem seems to arise from the issue below:
Code:
const char * ch_arr = "abcd";
const unsigned int * ui_arr = (const unsigned int*)ch_arr;
cout << ui_arr[0] << endl;
unsigned int ui = 'a';
ui = ui << 8;
ui |= 'b';
ui = ui << 8;
ui |= 'c';
ui = ui << 8;
ui |= 'd';
cout << ui << endl;
I expected both the output lines to be the same, since they contain the same bytes (I believe), but I get:
Code:
1684234849
1633837924
View 4 Replies
View Related
Mar 6, 2015
I working on a big program, and it involves character arrays. What I want my function to do is create a seperate array that consists of the same number of "*" as there are letters in the word from the text file. For example, if the word sarc was up, the function show make ****. This was my attempt at it. I managed to reach this far. I can only fit in one "*". This is part of jumble game program I'm trying to make, and its in C language.
insert Code: void partialWord(char current[]){
int n;
int i;
n = strlen(current);
for (i = 0; i < n; i++){
current[i] = strcpy(current,"*");
}
printf("%s
", current);
}
View 7 Replies
View Related
Feb 18, 2014
I have been looking everywhere, but the only place I have seen it done is Objective C. The Question: how do I split a string, input by the user, into an array of characters? No code shown because I know no commands that do this.
--Input by user as in fgets, or scanf().
View 2 Replies
View Related
Apr 25, 2014
I am trying to store each char of a string(string a ="1100") into a byteArray ( byte[] byteArray = new byte[4]. its not showing any error but its storing like below:
byteArray[0] = 49
byteArray[1] = 49
byteArray[2] = 48
byteArray[3] = 48
and what i want is
byteArray[0] = 1
byteArray[1] = 1
byteArray[2] = 0
byteArray[3] = 0
I don't know why but its replacing 1 with 49 and 0 with 48.what am I doing wrong or how to do this?
my code is as below
byte[] byteArray = new byte[4];)/>
int binArrayAdd = 0;
string a ="1100";
foreach (char Character in a)
{
byteArray [binArrayAdd] = Convert.ToByte(Character);
binArrayAdd++;
}
View 4 Replies
View Related
Jul 26, 2012
- API Function
TestSend(ref char data, ref int len, char slot);
---------------------------------------------------
Byte[] IccSelect = new Byte[7]{
0x00,
0xA4, // INS
0x04, //1 0x00, //2 0x0E,
0x31,
0x50,
};
Int32 len = 20;
TestSend(ref ??, ref len, '0');//byte array to char conversion
View 1 Replies
View Related
Feb 11, 2014
i need to search for a keyword in a binary(.raw)file and have to extract the characters(until a '&' character is found)that immediately following the keyword .
View 1 Replies
View Related
Jan 22, 2015
In my application there is a structure that holds 200 parameters for 200 tests. These structure is converted to byte array . I want to write this byte array to a file in save button and when I click open button, this file must open and write these bytes to corresponding text boxes. How it possible.?
View 1 Replies
View Related
Mar 12, 2013
I m loading a png image by using the ATLImage library.
CImage Image;
Image.Load (L"D:ImagesPNG_ImagesImage7.png");
how to retrieve the byte array value of this png image. I tried retrieving it as
byte *png = reinterpret_cast<BYTE *>(Image.GetBits());
but when i access the data , der is a loss of data while converting it in the above manner.
I found a snippet in net for decoding the raw data . but der is a line is the code which is unknown to me. The code is as follows :
CImage atlImage;
HMODULE hMod = GetModuleHandle(NULL);
atlImage.Load(bstr);
void* pPixel = atlImage.GetBits();
intpitch = atlImage.GetPitch();
intdepth = atlImage.GetBPP();
[Code] ....
How do I get the byte * value form the png image loaded?
View 3 Replies
View Related
Feb 8, 2013
I like to Draw an Image Using two dimensional byte array[512][256].
I used SetPixelV method to plot the image.
But Its very slow & hidden some buttons(Controls) at run time in the same dialog.
For reference i send some code,
Code:
for(row = 0; row <512; row ++)
{
for(col = 0; col < 256; col++)
{
Data[row][col] = y;
SetPixelV(d, 10+row, 10+col, RGB(Data[row][col],Data[row][col],Data[row][col]));
}
}
View 14 Replies
View Related
Aug 18, 2012
I've been working on making a class that makes turning any variable or object into a byte array and vice-versa, quick with minimal pointer interface.
As well as a function for turning any variable or object into a binary text string.
Code:
#include <iostream>
#include <bitset>
#include <sstream>
// Convert a Variable to a Byte Array
template <class var>
unsigned char* VarToBytes(var &data) {
[code].....
View 2 Replies
View Related
Jun 6, 2012
I am trying to use C# with C++, two different applications that work together.
In C# it is easy to get a byte array out of a string, by just using Encoding.Default.GetBytes(of-this-string);
I can pass bytes to my C++ program by just writing in the embedded resources. But this won't allow strings, as far as I know it can only be a byte array. C++ reads the embedded resources a LPBYTE.
So I try to send the string or message in byteform.
However the problem in C++ is that there is no Encoding.Default.GetString(xxx)
Would there be any other ways to send a message/sentence in bytearrayform and request it in C++ back to the original string?
View 14 Replies
View Related
Apr 18, 2012
let's say I have an IntPtr that points to the raw data of System.Drawing.Bitmap. is there any way to create a byte array from that IntPtr without copying the data? I'm a pretty experienced C++ programmer, so I can call ToPointer() on it and convert to a byte* to work with it as a pointer, which is no big deal for me, but using a pointer and doing pointer arithmetic increases the risk of bugs, so I'd prefer not to do it that way if there's another way.
View 4 Replies
View Related
Sep 18, 2012
I tried to convert byte array with hex to equivalent decimal value as follows but it gives me unexpected results:
byte hex_arr[] = { 0x00, 0x01, 0xab, 0x90};
unsigned long i=0;
i = hex_arr[3] + (hex_arr[2] << 8) + (hex_arr[1] << 16) + (hex_arr[0] << 24);
the output is 4294945680
Correct output should be 109456
but when I try with byte hex_arr[]={0x00,0x00,0x0f,0xff};
it gives correct out put 4095
the correct output works until the hex values is {0x00,0x00,0x7f,0xff}
View 8 Replies
View Related
Apr 20, 2013
I have this code:
const BYTE original[2][4] = {
{0x00, 0x00, 0x00, 0x00},
{0xFF, 0xFF, 0xFF, 0xFF}
};
void function(const BYTE** values){
[Code] ....
You might notice that the above code doesn't compile, this is the error:
cannot convert parameter 2 from 'BYTE [2][4]' to 'BYTE *'
1>
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Even after some search I couldn't really find an answer to my problem, how do I pass the const BYTE array which I declared above in the function as a parameter (or what structure do I need to set for the function as a parameter)?
View 10 Replies
View Related
Mar 12, 2013
In my project I'm using PVOID pointer to store real time data. After getting this data I will convert the data into byte array, like below
Code:
byte *bPoint = NULL;
PVOID pvData;
byte TempArr[1024];
bPoint = (byte*) pvData;
for(int i=0;i<1024;i++)
TempArr[i] = (byte) (*bPoint + i);
Processing time for the above code takes 9500 to 9900 microseconds (Used QueryPerformanceCounter).
Code:
TempArr[0] = ((BYTE*) pvData) [0];
This code takes 1100 to 1200 microseconds. My doubt is, The processing time of PVOID data into byte array conversion takes time like above? Or any other easy way(PVOID data into byte array conversion) to reduce the processing time?
View 14 Replies
View Related
Jul 5, 2013
how to create a hash table array and use linked lists inside the elements.
View 5 Replies
View Related
Apr 1, 2015
I have a long long int k=0x0000888804eaad0e
And i need the reverse of this (nibble wise) in other long long int variable.
That is i want the result to be = q=0x0000e0daae408888;
Or the result also can be like this = q=0xe0daae4088880000;
How to accomplish the above?
View 4 Replies
View Related
Nov 24, 2014
I got this program to create an array of playing cards and assign the values and suits and shuffle the array. I'm at the point where I need to output the cards but I need to burn the first card by making it output "**" instead of the card. my cards[] is a constant so I can's assign the first card as such.
void showCards(const int cards[], int numCards, bool hideFirstCard) {
if (cards[0]) {
hideFirstCard=true;
cards[0] = '**';
} for(int a = 0; a <= numCards; a++) {
cout >> showCard(cards[a]);
} }
View 1 Replies
View Related
Jan 10, 2015
Write a program using user-defined function which accepts an integer array and its size as arguments and assign the elements into a two dimensional array of integers in the following format: If the array is 1,2,3,4,5,6, the resultant 2D array is
1 2 3 4 5 6
1 2 3 4 5 0
1 2 3 4 0 0
1 2 3 0 0 0
1 2 0 0 0 0
1 0 0 0 0 0
View 1 Replies
View Related
Jan 21, 2013
Write a function that takes an array and returns true if all the elements in the array are positive, otherwise, it returns false.
View 6 Replies
View Related
Jun 14, 2013
The program should store a character array in reverse order then display the reversed array. I have also included in the code that will display the actual characters into the array as it loops through. So I know the characters are being stored, but why doesn't it display the entire string when I call it?
Code:
#include<stdio.h>
int main(){
char str[50];
char rev[50];
printf("Enter Desired Text: ");
scanf ("%[^
[Code] ....
Is it just my compiler?
View 5 Replies
View Related