Visual C++ :: Using Wstring Converted From Char In DLL Class
Jun 17, 2013
I figured it out when I built a simple demo project. Problem arose because of trying to access a c-wrapper dll from the app class whereas the wrapper class had not been initialized there but rather in the main dialog class - so naturally it didn't work!!! Anyway, I've attached the demo for any who might be interested, but I regard the problem as resolved. Shows the value of building simple projects to isolate a problem. I failed to organize the order in which such a program initializes - I guess it's always App first, then MainFrame, then Doc and View (I think).
View 5 Replies
ADVERTISEMENT
Jan 26, 2014
I am new to C++ and I have a two player word guessing game working well. However, I would like to be able to validate whether the word entered by player 1 is a completely alphabetic word using isalpha.
The error I am getting right now is as follows:
"error: array must be initialized with a brace-enclosed initializer
char str[100]=hiddenwordtwo;"
/* isalpha portion of code */
#include <stdio.h>
#include <ctype.h>
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include <cstring>
using namespace std;
int main () {
char hiddenwordtwo[100];
[Code] .....
View 2 Replies
View Related
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
Feb 5, 2013
I am wondering if I have the following parameter to pass in to a function
Code : void Load(std::wstring filename);
This statement is wrong.
Code : Load("DataMesh.x");
I don't want to pre-declare a variable. How do I directly pass a wstring (literal) to this function.
View 2 Replies
View Related
Jun 15, 2012
I have a file path in a wstring like this:
wstring pathName = L"c:windowssystem est.exe";
I want to be able to geta new wstring that just contains "test" from this wstring.
How can I do that?
View 5 Replies
View Related
Oct 29, 2014
Code:
cout<<"Enter Filename for input e.g(inp1.txt .... inp10.txt):"<<flush;
cin>>filename;
ifstream inpfile;
inpfile.open(filename,ios::in);
if(inpfile.is_open())
[Code] .....
View 8 Replies
View Related
Jul 26, 2014
How to get the number of elements of a multi-dimensional wstring?
The usual char array way not working.
Code:
int main()
{
wstring wstr[][255] =
{
L"bbbb",
L"bbbb",
L"aaa",
L"ccccccc"
};
int Size = wstr.size() / wstr[0].length();
}
View 11 Replies
View Related
May 16, 2013
I need to check my understanding from some questions about strings. How can numeric values stored as Strings be converted to numbers?
a)vector of required numeric data type
b)atoi function in cstdlib library
c)cout statement with required numeric data type
I picked b), I am aware of atoi, atol, and atof as methods to convert, but are there other methods?
What is the purpose of strncat function?
Combines n characters from source string into target string
C++ string provides:
a)convenient way to declare and manage character arrays
b)functions to manipulate strings
c)all of the above
d)none of the above
I picked c)
View 2 Replies
View Related
Nov 14, 2013
I'm writing a class that has two constructors. However, I can't get them to work quite right. One constructor has a parameter of an int (with a default value of 0) and the other has a parameter of a C-style string.
First of all, are these function prototypes correct for the constructors?
MyInt(int n = 0);// first constructor, int param, default value 0
MyInt(const char * c);// second constructor, c-style string param
Both constructors work fine in some cases but don't work in all cases. Here are some potential calls to these functions that are supposed to work:
// These two work fine
MyInt x(12345),
y("9876543210123456789"),
// The array assignment doesn't work when the value is negative
// I'm not allowing negative numbers, but I want to create the object and assign the array to 0
r1(-1000),
[Code] .....
Here's the private data from the class (from the header file):
private:
int currentSize,
maxSize;
char* digits;// Pointer to an array of digits
// Increase the size of digits array by 5
void Grow ();
View 2 Replies
View Related
Nov 16, 2013
I'm having trouble with passing a character array between functions of the same class. I have a function, buildGraph, that calls function getNextLine. The getNextLine essentially just retrieves the next line of an input file and stores it into a "char line[80]". However when I try to use "line" in my buildGraph function, it has nothing in it.
Here's my code:
Class
#define NUMNODES 10
using namespace std;
#pragma once
class Prog3Graph
[Code] ....
View 4 Replies
View Related
May 25, 2014
Why is the size of an empty class 1? Why is the class still one when I add a char member to the class?//using turbo c++ 3.0, yes I know I'm using a very old c++ compiler and software
View 3 Replies
View Related
May 4, 2014
I tried to implement a string class and i want to modify a specific char in my string . I did operator over load but this code crash in this line
name [2] = 'k' ;
Why ?!!!!!!!!!!!!!
this is my code
# include <iostream>
using namespace std;
#include <assert.h>
class String {
public :
char *content ;
int size ;
[Code] ....
View 11 Replies
View Related
Dec 10, 2012
Linker error.
First off the error
Code:
Error1error LNK2019: unresolved external symbol "public: __thiscall ReachTop<class Character>::ReachTop<class Character>(class Character *)" (??0?$ReachTop@VCharacter@@@@QAE@PAVCharacter@@@Z) referenced in function "void __cdecl `dynamic initializer for 'gReachTop''(void)" (??__EgReachTop@@YAXXZ)Main.objDecisionTest
Reach Top class inherits from Goal Class
Goal Class
Code:
#ifndef _GOAL_H
#define _GOAL_H
#include "Action.h"
#include <list>
template <class T>
class Goal
[Code] ....
Code to create
Code:
Character* gCharacter = new Character(1, gWorld);
Goal<Character>* gReachTop = new ReachTop<Character>(gCharacter);
I can provide the character class and its inheritance aswell if you like.
View 4 Replies
View Related
Aug 27, 2013
I am writing a class which loads a bitmap image into a one dimension char* array.
This class has methods to allow for resampling and cropping the image before saving the bitmap image. It works perfectly for all images in which the width is divisible by 4. However when the width is not divisible by 4 the resulting bitmap is all mixed up.
I have spent much of the day googling this problem but to no avail. I know it is a problem with making sure the scanlines are DWORD aligned, and I believe I have done that correctly. I suspect that the problem is that I need to take the padding into account during the crop for loops but am lost to how to do this.
BTW: Coding on Linux using GCC
The following code is a cut down version from my bitmap class. I have removed methods which are not needed to make reading a little easier.
#include "BMP.h"
// FIXME (nikki#1#): Portrait bug on images of specific sizes
// TODO (nikki#1#): Memory leak checks
// THIS METHOD WRITES A BITMAP FILE FROM THE CHAR ARRAY .
bool BMP::saveBMP(string fileName, string *err) {
FILE *filePtr;
[Code]...
View 2 Replies
View Related
Apr 21, 2014
#include "IMyIntData.h"
class MyIntData : public CPMUnknown<IMyIntData>
{
I need to know what this syntax means (including MyIntData in angular brackets after parent class name) where IMyIntData is the Interface from where MyIntData is derived.
View 1 Replies
View Related
Nov 9, 2013
I am trying to access a variable from another class through another class but it is not returning its "instance"?
Example:
Class View
Code:
...
V3D_Viewer viewer;
...
Class MainWindow
Code:
...
viewer* myView;
myView = new viewer();
...
Class Test
Code:
...
MainWindow window;
window.myView->setBackgroundColor(WHITE);
...
I am new to c++ references and pointers,
View 3 Replies
View Related
Nov 29, 2013
My program is a basic MFC AppWizard (exe) created project in VC++ 6. In MainFrm.cpp, I am trying to access some user defined CMyView member functions. However when I try to do the standard procedure to get the CMyView pointer in MainFrm.cpp, I get the " ... 'CMyView' : undeclared identifier" error. To resolve this, I add " #include myView.h " at the top of MainFrm.h which then produces the following errors:
Code:
myview.h(21) : error C2143: syntax error : missing ';' before '*'
myview.h(21) : error C2501: 'CMyDoc' : missing storage-class or type specifiers
myview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers
What do these errors mean? Is there a simple way to access CMyView member functions from CMainFrame?
View 8 Replies
View Related
Nov 20, 2012
I am unable to understand why is the output for this shows me the address of the stored array.
int main()
{
size_t k= 0 ;
char t[3][100] = { "hi", "di", "fi" } ;
char s[3][100] ;
[Code]....
View 5 Replies
View Related
Mar 8, 2013
Code:
......
static char str[BIG_STRING];
static char str_copy[BIG_STRING];
char **words;
int max_words = 10;
[Code] ....
I'm confused with this last [for] loop; How is ptr++ applied for non-integer value? Ptr is clearly a char, it comes from str, which reads string line from file.
I come from C# background, I have never met for...loop which irritates by using [somechar]++, not [someinteger]++;
What is actually going on there?
Some other similar example might be:
Code:
(iColor+(_parts[j]%length)*3),
where iColor is static unsigned char iColor[] array;
I would expect to see iColor[somevalue] + (_parts[j]%length)*3), but here in C++ I sometimes see that integer is being added directly to the array. What does it mean, what happens?
View 8 Replies
View Related
Oct 3, 2012
I have encountered a problem I can't see to solve. I want to access a function and can't seem to find the right combination to get me there. Here is what I am looking at:
CFoo1::CFoo2::GetStrDataC(int nRow) const
How do I call the GetStrDataC function from another class?
View 6 Replies
View Related
May 13, 2013
What is the programmers responsibility with respect to const char * returned by various functions, like the C++ string class c_str() function which returns a const char * to an c style string array? In VC++ I cannot delete a const char * which holds a string literal. Take the following code for example:
Code:
void func() //a useless function with illustrative code {
string s1("abcd");
string s2("efgh");
const char * cc1 = s1.c_str(); //c_str() returns a const char * c style string pointer
s2.c_str(); //this returns a const char *, which must be allocated on the heap right?
delete cc1; //produces run time error in Release mode in VC++
}
The problem with the above code snip is that space is allocated on the heap (or so I believe) for the const char *'s returned by the 2 calls to c_str(). The delete attempt fails and there is no opportunity to delete the space allocated by const char * because its not assigned to anything (however I see c_str() used this way extensively)
So, if I cannot delete a const char *, how does the memory get recovered? Perhaps the string objects s1 and s2 themselves have pointers to the items on the heap made by c_str() calls and they get deleted by the destructors of s1 and s2 when the function ends?
View 3 Replies
View Related
Apr 9, 2015
Got something like the following. A button that read characters from a thrid party tool and sends it to a listbox. But the contant is not readable.
Code:
void dlg::sendtolistbox() {
unsigned char buf[250];
thirdparty.GetData(buf, len);
Sendmessage(hndl, listboxupdate,0 , (LPARAM)buf);
}
void Mydlg::UpdateListBox(wparam a,laparm b) {
m_listbox.AddString((LPCTSTR)b);
}
The characters show up in the list box as short unreadable characters. like it is chopped.
If i change to : Sendmessage(hndl, listboxupdate,0 , (LPARAM)&buf[15]);
Then I can see readable valid strings of up to 50 characters and then empty unreadable characters afterwards. I tried all kinds of things , including using CString, still did not work.
View 8 Replies
View Related
Jun 26, 2013
I have used the following code to write and read wchar_t bytes from a disk file:
Code:
int WriteBytesW(wchar_t * wcp, int nsz, wchar_t * wcfilepath) {
wfstream wf;
codecvt_utf16<wchar_t, 0x10ffff, little_endian> ccvt(1);
locale wloc(wf.getloc(), &ccvt);
wf.imbue(wloc);
[Code] ....
Output:
save bytes succeeded
1234 5678 9ABC EF12 ABCD FE21 DCBA 1F2A EFFF 02FF
read bytes succeeded
nsz =: 20
Now, if wbuf[8] = 0xefff; is replaced by wbuf[8] = 0xffff;
Output:
save bytes succeeded
1234 5678 9ABC EF12 ABCD FE21 DCBA 1F2A 02FF
read bytes succeeded
nsz =: 18
Obviously, the 0xffff wbyte is not read. WHY ?
This presents a significant problem when attempting to read ALL wbytes from a file.
View 9 Replies
View Related
Nov 15, 2014
I'm trying to read a file which is 51563 char long ( a jpeg pic )
but whenever I open it :
Code:
std::ifstream ifs(file);
std::string pub((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
cout << pub;
I only get like 500 chars, so I tryed a lot of different funcs until I finally realized that they reached the end of file "early" well it thinks that one of the chars in it is an end of file and it's located at the start. So I really don't know what to do with it because every func doesn't see the rest of the file at all.
View 7 Replies
View Related
Jan 10, 2014
I have a bitmap header information in the struct
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO
The total size of this is 1080.
Now i want to convert this into a unsigned char pointer.
unsigned char * pBMPHeaderData;
I already got the raw image data in another unsigned char buffer.
unsigned char* pRawBMPData;
Now i want to make a complete BMP image by adding the header info and raw data into a new unsigned char pointer. For this i need to convert the BITMAPINFO struct into a unsigned char *
So the new buffer will be,
unsigned char * pCompleteBMPIMageData = pBMPHeaderData + pRawBMPData;
how to do this?
View 3 Replies
View Related
Feb 23, 2013
I am using visual studio 2012.....in below code i m writing data in to a test.txt file but i dont know with which key file stop accepting char...i tried ctrl+z and ctrl+d but not working ....
Code:
#include<stdio.h>
#include<conio.h>
main(){
char ch;
FILE *ptr;
[Code] ....
View 7 Replies
View Related