C++ :: Writing In Binary Format Array Of Unsigned Int Values

Aug 5, 2013

I am trying to write down in binary format an array of unsigned int values but i get the following compilation error :

: In function ‘int CIndex(std::fstream&, std::fstream&, std::fstream&, std::fstream&)’:
./src/IndexBuilder/index.cpp:23:26: error: no matching function for call to ‘std::basic_fstream<char>::write(int*, long unsigned int)’
./src/IndexBuilder/index.cpp:23:26: note: candidate is:
/usr/include/c++/4.6/bits/ostream.tcc:184:5: note: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::write(const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits<char>, std::streamsize = long int]

This is the part the is not working:

Code:
// uia is : unsigned int * uia;
// then I have allocated the space for it
// load it with unsigned int's
// k is the number of variables in my array

o.write(uia,sizeof(unsigned int)*k); But thsi should be so simple and strait forward.... in c i do it as :

Code:
fwrite(uia, sizeof(unsigned int), k , fp); but since i would need to convert fstream to FILE* i decided to do it c++ way.

and this is how i opened the file :

Code:
o.open (fileName.c_str(),std::ios::out|std::ios::binary);

View 5 Replies


ADVERTISEMENT

C++ :: Unsigned Char Array - Assigning Values Converted From Double

Aug 3, 2014

I'm having a pretty weird problem. I've created an unsigned char array for an image buffer:

buffer_rgb = new unsigned char[_w * _h * 3];
memset(buffer_rgb, 0x0, sizeof(unsigned char)* _w * _h * 3);

And I add pixel color values to it like so:

buffer_rgb[i] = ((unsigned char)(col[0] * 255));
buffer_rgb[i + 1] = ((unsigned char)(col[1] * 255));
buffer_rgb[i + 2] = ((unsigned char)(col[2] * 255));

Where col is a 'vec4' struct with a double[4] with values between 0 and 1 (this is checked and clamped elsewhere, and the output is safely within bounds). This is basically used to store rgb and intensity values.

Now, when I add a constant integer as a pixel value, i.e.:

buffer_rgb[i] = ((unsigned char)255;

Everything works as it should. However, when I use the above code, where col is different for every sample sent to the buffer, the resulting image becomes skewed in a weird way, as if the buffer writing is becoming offset as it goes.

These two images illustrate the problem:

tomsvilans.com/temp/140803_render_skew.png
tomsvilans.com/temp/140803_render_noskew.png

You can see in the 'noskew' image all pixels are the same value, from just using an unchanging int to set them. It seems to work with any value between 0-255 but fails only when this value is pulled from my changing col array.

Whole function is here:

// adds sample to pixel. coordinates must be between (-1,1)
void Frame::addSample(vec4 col, double contrib, double x, double y) {
if (x < -1 || x >= 1 || y < -_aaspect || y >= _aaspect) {

[Code] .....

View 1 Replies View Related

C++ :: Turn Binary File Data Into Unsigned Character Array For Inclusion In Executable

Jul 10, 2013

So I wrote a program to turn a binary file's data into an unsigned character array for inclusion in an executable. It works just super.

I'm wondering how I can write a program that will perform this operation on every file in a directory and all it's sub-directories so that I can I can include everything I need all at ounce.

View 9 Replies View Related

C/C++ :: Writing Array To Binary File

Mar 10, 2014

So I'm trying to write an array of integers to a binary file. He's my code:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

[Code].....

I know that it is an array of characters right now, and I will be using the reinterpret_cast when I finish my program. Anyways, when I run the executable, it only writes 1234 to the file. My assumption was that the sizeof() was not being set properly, but even manipulating that won't fix it.

View 6 Replies View Related

C++ :: Writing Integer Array To File In Binary Form And Reading It

May 30, 2013

Both arrays arr and pointers are the same size. I am having problems reading pointers from file into a new int array.

FILE* ky_pt=fopen("stashedclient","ab");
write(fileno(ky_pt), pointers, sizeof(pointers) );
pointerindex=lseek(fileno(ky_pt), 0, SEEK_CUR );
printf("pointerindex after writing array %d

[Code] .......

View 2 Replies View Related

C :: Writing Structure Array Bytewise To Binary File And Read It Back

Aug 21, 2014

I would like to write a complete structure array to a file and read it back, recovering all the data. I have tried the following:

Code:

#include <stdio.h>
#include <string.h>
#define NUM 256
const char *fname="binary.bin";
typedef struct foo_s {
int intA;
int intB;
char string[20];

[Code]...

//---------------------------------------------------- but the mac field is reading back some random value repeatedly. Why is that? And how do I fix this?

View 8 Replies View Related

C :: Assign Integer Value To Unsigned Char Array But It Is Not Storing Integer Values

Oct 25, 2013

I am trying to assign the integer value to unsigned char array. But it is not storing the integer values. It prints the ascii values. Here the code snippet

Code: uchar uc[100];
for(i=0;i<100;i++)
{
uc[i] = i;
}

The values which are stored in uc[] is ascii values.I need the integer values to be stored in uc[]. I tried to do it with sprintf. but the output is not as expected. if I print the uc[i] it should diplay the value as 0,1,2....99.

View 9 Replies View Related

C++ :: Writing A Custom Filesystem Format?

Apr 12, 2012

How do you write your own Filesystem/Format?

I've always wanted to know how to write my own system for the learning experience. I've worked on simple ones that read from a flatfile of a defined size, but never one that was on a fully formatted drive.

Where do I start? Are there any examples/tutorials?

View 10 Replies View Related

C/C++ :: Writing A Code For Bitmap File Format

Mar 9, 2014

I wanna write a piece of code in C++ that extract the width and height of a image with bmp file format...

View 2 Replies View Related

C/C++ :: Incorrect Output From Unsigned Binary To Decimal Program

Feb 2, 2015

This program has to convert an unsigned binary number into a decimal number. No matter what binary number I enter, however, it always outputs that the decimal number is 0.

My code is as follows:

#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main() {
string binarynumber;
cout << "Enter an unsigned binary number up to 32 bits." << endl;

[Code] ....

And my output:

Enter an unsigned binary number up to 32 bits.
00001111
That number in decimal is 0

The output should have shown the binary number in decimal to be 15, and I cannot find my error.

View 6 Replies View Related

C++ :: Cannot Write As Binary Using Dat Format In Ubuntu

Nov 29, 2014

I cannot write as binary using .dat format in ubuntu, why?

View 5 Replies View Related

C/C++ :: Custom Binary File Format

Jul 9, 2014

Development of a custom binary file type? So far all I know is the just the basic structures of the binary file type, I know that structures are involved but the implementation part I have run into walls.

View 1 Replies View Related

C/C++ :: Converting BMP To Strings Of 0 And 1 (Binary Format)

Mar 14, 2014

I want to read a Bitmap file in C language and produce the binary equivalent of it in the form of 0's and 1's.

View 1 Replies View Related

C++ :: Unable To Extract Unsigned Values From Input Stream

Jan 16, 2015

I am trying to extract unsigned values from an input stream. I expect the extraction to fail when an invalid character is extracted. It fails correctly when I try to extract an unsigned int from "abc", but when I try to extract an unsigned in from "-1", the extraction succeeds, and the max unsigned int value is extracted (as if -1 were cast to unsigned int). I would expect the '-' to cause the extraction of an unsigned value to fail.

The code I am using is below.

#include <iostream>
#include <sstream>
#include <string>
#include <limits>
int main() {
unsigned int value = 8;
std::string negString = "-1";

[Code]...

Is this standard behavior for an istream extractor?

I am trying this in both Linux (gcc 4.4.3) and in windows with Code::Blocks (whaterver came with CB 13.12, apparently gcc 4.7.1)

View 11 Replies View Related

C/C++ :: Error / The Specified File Is Unrecognized Or Unsupported Binary Format

Mar 17, 2014

I am getting a weird error "The specified file is an unrecognized or unsupported binary format"

I have this >

#include <iostream>
#include "calculator.h"
using namespace std;
int calculator::getDisplay() {
return display;
} void calculator::enter(int nu

[code]......

View 6 Replies View Related

C++ :: Accessing Pixel RGB Values In Float Format?

Apr 7, 2013

I have tried everything and i still can't access pixel RGB values in float format.

I tried vec3b which produces strange characters which i can't covert to float as it says no suitable function exists.

I tried vector<float> RGB;

with RGB = image.at<vector<float>>(row,col);

I get a unhandled exception error.

So whatever i do, if it is syntax correct i get unhandled exception error. If it should work i get this stupid error. I need it for chroma keying.

View 4 Replies View Related

C/C++ :: Display Contents Of Binary Tree In Per-level Format - Undefined Reference

Oct 5, 2014

I am coding in C++ an implementation of BTree Insertion. I want to display the contents of the Tree in a per-level format. After writing functions and trying to run. I get the error Undefined reference.

// C++ program for B-Tree insertion
#include<iostream>
using namespace std;

// A BTree node
class BTreeNode{
int *keys; // An array of keys
int order; // Minimum degree (defines the range for number of keys)
BTreeNode **child; // An array of child pointers
int size; // Current number of keys

[Code] .....

View 6 Replies View Related

C++ :: Making Function To Read Unsigned Integer Into Variable Of Type Unsigned Short Int

Apr 3, 2014

How can i write a function that will read an "unsigned integer" into a variable of type "unsigned short int"? i can not use cin >> inside the function.. so i am looking for atleast a hint!

View 16 Replies View Related

C++ :: Writing 32 Bit Integer To 32 Bit Value In Binary

Jul 17, 2013

So, I was reading that article on binary files:

Disch wrote:
u16 ReadU16(istream& file) {
u16 val;
u8 bytes[2];

file.read( (char*)bytes, 2 ); // read 2 bytes from the file
val = bytes[0] | (bytes[1] << 8); // construct the 16-bit value from those bytes

[Code] .....

u32 would be the same way, but you would break it down and reconstruct it in 4 bytes rather than 2.

But, I don't know what he means by the part in bold text.

View 8 Replies View Related

C++ ::  writing Binary Data On Txt File?

Aug 16, 2013

I a want to write a code to convert a string into binary data for that i wrote a code its working perfectly but there is one problem , some of the binary data is written in 7bit and i want to convert it to 8 bit by adding 0 to the last.

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

[Code]....

View 2 Replies View Related

C/C++ :: Reading And Writing In Binary Files?

Jun 5, 2014

why I'm giving "Access violation reading location 0x336827B8" and also I was able to read my data but it's giving me weird stuff. I want to write the sorted grades and the average in a new disk file. so here's my code so far here's my code

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int avg(int sum, int size);
void swap(int *, int *);

[code]....

View 5 Replies View Related

C :: Writing Binary Data Or Reading From A File

Mar 6, 2013

I am having problems either writing data to a binary file or reading from the file. Through the process of elimination I am posting the code where the data is written to file to see if I can eliminate that as an option. I know the data is being processed correctly because, through the use of another function, I can view the data.

I also know that fwrite must be including some padding because the file size ends up being 576 bytes after it is written instead of 540 bytes (the size it would be if no padding is used). Here is my struct:

Code:

typedef struct {
char teams[25];
float wins;
float losses;
float pct;
int runsScored;
int runsAgainst;
} STATISTICS;

Here is where I initialize it:

Code:
STATISTICS stats[12] = {
{"Anaheim Arrays", 0.0, 0.0, .000, 0, 0},
{"Pittsburg Pointers", 0.0, 0.0, .000, 0, 0},
{"Indianapolis Integers", 0.0, 0.0, .000, 0, 0},

[Code] ....

And here is the function that writes my data. The sA array is only used to change the scheduled games based on the variable week.

Code:
void schedule(STATISTICS stats[]) {
FILE *f;
int sA[12], week = 0, runsPerGameA = 0, runsPerGameB = 0, runsAgainstA = 0, runsAgainstB = 0;
int index, a = 0, b = 1, i = 0;

[Code] .....

View 13 Replies View Related

C++ :: Program Crash Writing To Binary File

Feb 17, 2014

cant write to binary file

#include <stdio.h>
#include <stdlib.h>
typedef struct {
int number;
} something;
void main() {
int numbers[10]={1,2,3,4,5,6,7,8,10,12};

[Code] .....

View 2 Replies View Related

C++ :: Writing And Reading Binary Data In FORTRAN?

Apr 2, 2013

I am writing a double number in Binary format to the console of program A (in FORTRAN) with the following code:

Code:
REAL*8 A
A = 12.54
INQUIRE(6, name = xstring)
OPEN(1,file=xstring, access='stream',action='write')
WRITE (1) A
CLOSE(1)

And trying to read that number by program B (in C++) which is connected to program A by anonymous pipes. Following is the reading part of program B:

Code:
#define BUF_SIZE 5000
BOOL bSuccess = FALSE;
char Buf[BUF_SIZE];
DWORD dwRead;
for (;;) {
bSuccess = ReadFile( V_hChildStd_OUT_Rd, Buf, BUF_SIZE, &dwRead, NULL);
if( ! bSuccess || dwRead == 0 ) break;
}

Note: V_hChildStd_OUT_Rd is a handle to the output of program A.

After running the program although bSuccess becomes TRUE, Buf array does not include the number (12.54) that I am expecting. If I do the same process without using the binary format it works fine and I can read the number. I know somethings wrong with the writing or reading of binary data but I do not know what it is.

View 14 Replies View Related

C++ :: Writing Text Data To A Binary File With Fstream

Jul 9, 2014

fstream ifs;
ifs.open ("data.str", ios::binary | ios:ut);
char *data1 = "data1";
char *data2 = "data2";
ifs.write(data1, strlen(data1));
ifs.write(data2, strlen(data2));

when i this,data2 is not going under data1, i thought each write starts on a new line?

View 4 Replies View Related

C++ :: Reading And Writing Variable Binary Width Data

Mar 8, 2013

How to read and write an arbitrary number of bits from/to a file stream.

For instance, how to repeatedly read 9 bits from a file, then change to 10 bits, then 11 bits, and so on?

Obviously one way is by doing a lot of bit shifting, and masking. But honestly, I'm too dumb to get it right. Then I thought about using std::bitset and std::vector<bool>.

View 5 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved