I have some code that was compiled without Unicode turned on in the Preprocessor Definitions. I need to access an API that had Unicode turned on in the Preprocessor Definitions (I believe that it is on by default for DLL's) .
I need to call a function in the DLL that requires a structure like:
struct READERINFO { TCHAR serial[32]; TCHAR altSerial[32]; TCHAR name[32]; TCHAR fccId[48]; TCHAR hwVersion[16]; int swVerMajor; int swVerMinor; char devBuild; };
It returns some information in the structure some of it is Unicode based however the program that is calling it is not Unicode. The preprocessors are not turned on because if they were there would be a lot of things to change in this code. The code is old code that I inherited and now I must interface to some new devices.
I declare my structure as :
READERINFO info; Then I call the function in the DLL which looks like: ApiGetReaderInfo(hAPI, &info, sizeof(into));
Which is defined as: ApiGetReaderInfo(HANDLE hApi, Struct READERINFO * ri, DWORD riSize);
Parameters:
hApiHandle to valid Api object instance riPointer to the READERINFO structure. riSizeSize of ri structure in bytes. Usually: sizeof(struct READERINFO).
When I call it from my program that does not have UNICODE defined in the Pre-Processors I get :
Characters like : ÌÌÌÌÌ in the TCHAR fields and invalid numbers in the integer fields. int ModuleVersion(HANDLE hApi) { struct READERINFO info; ApiGetReaderInfo(hApi, &info, sizeof(info));
[Code] ....
When I call it from my program that has some sample code just for this and has the UNICODE defined in the Preprocessors it works just fine. how I can call this from my old code and get the correct information. I have already tried to do the follow without success:
I am using Visual Studio 2008. I just wonder if there are any library function in Windows SDK or MFC, or from third-parties, that can convert a UTF-8 string into Windows Unicode string(used in CString object).
Can MultiByteToWideChar or ATL String conversion macro like A2W to the conversion?
I've got an application here which connects over the internet to a webserver and sends some json strings. This is all working already.
Now I want to encode one string via mcrypt (because it seemed the easiest library of all) AES and send it over to the other server where it should get decrypted again and checked for validity.
I'll be using this sample code as "starting base". i've found it on the internet:
The code works as it is, it encodes my string into a ciphered text and displays the text via the display function to stdout.
From previous projects I know I usually used Base64 for transporting strings via json, but in this example the string is encoded into "%d" - so decimals.. It works too, and I dont care if I send a base64 encoded string or these decimals but how would I calculate back the %d encoded string ? So how would a "undisplay()" class look alike ?
Or maybe there is an easier way to transport the string and re-decode it ?
I'd expect something like:
base64string = base64encode(ciphertext); ... send base64string to host2 ... at host2: ciphertext = base64decode(base64string) ... and then mcrypt_decode that ciphertext...
I am writing a porgram which includes encoding and decoding a message.Now I am doing the encoding part.
The goal is to encode a message using similar approach as Caesar Cipher. But instead of alphabets, I am going to use the entire ASCII code of total 128 codes to be the base.
And it is not a simple shifting, it is a rotation. This means if you want to shift 4 units from char <DEL>, it will come back to the first code in ASCII Code which is at dec 0 char <NUL> and starts the shifting again. It won't jump if the limit of ASCII Code is reached.
Here we've got 7 different malls' names and I am going to encode them with a shift n. I think n is free to set, so here I just set it as 5. This is also called the key.
I have written something and I think it should work, but after all it doesn't. And I don't get what is wrong.
Here is my program:
#include <iostream> using namespace std; const int NUMBER_OF_MALLS = 7; const int MALL_NAME_LENGTH = 13; const int NAME_SIZE = MALL_NAME_LENGTH + 1; void encode(int key, char plain[], int length, char encoded[]) { for (int i = 0; i < MALL_NAME_LENGTH; i++)
[code].....
Note that I am not going to use other libraries, just <iostream>.
I'm having some problems in receiving fileNames from Server to Client(C++) in Mac OS X. I send a serialized object , which has a char pointer with the fileName or sometimes a string object, when i receive it in the client, it seems to be having %F6 or %E9 ,etc . This issue don't arise in Windows OS though, even thought it's the same code. Is there anyway decoding these '%' characters back to their original form in Mac OS & Linux ..?
Fex characters i got into problems with : ǡ ȅ ȉ
It would be difficult to change the code in server, so if there's a way decoding the characters back to its original form, it would be easier.I'm using Boost Library for Serialization and i'm just looking for ways to decode %F6 back to ȅ in C++, like if some library is available ..?
After executing the first codeline strTempW.Format(L"%c", 0xFFFF), I will get strTempW of length 1, but cannot see it first character in Visual Studio watch window.
After executing the codelilne strTemp1 += strTempW, I will get strTemp1 of length 0.
Whether 0xFFFF is taken as a valid Unicode or not?
In my project , we need to create an Array of Unicode Strings . The Array will contain 5000 Strings.
I need to write those strings to a text file which can be opened or edited with NotePad.
Normal _tfopen and fwrite are not able to create notepad compatible .txt file .. I mean the file I created is not readable with Notepad though file open mode is "w+t"
Working in Win32 console app (VS 2010) I have been trying to convert several Unicode (UTF-16) C++ functions to Ansi C (UTF-8). The test app includes two tokenizer classes, each of which work perfectly well in their respective environments, CTokA and CTokW (UTF-8 and UTF-16).
A problem arises when I attempt to run the UTF-8 functions when the Character Set properties is set to 'Use Unicode Character Set' in that std::string manipulations do not perform as expected, e.g.,
printf("start ");
gets reproduced as
printf("start ");══════════ ²²²²
Attempting to null terminate the string where it is supposed to end simply results in a space in that position and the garbage end persists, e.g.,
printf("sta t ");══════════ ²²²²
Code: sline[11] = 0x0000;
If I attempt to change the Character Set property to 'Use Multibyte Character Set' or 'Not Set', the app will not compile and hundreds of errors occur. Of course, I can eliminate all of the UTF-16 code, but it strikes me that it should not be necessary. Perhaps if M$ made everything UTF-16 without all of the necessary decorations like 'L' and '_T(', life would be much simpler. Unfortunately, I have a very extensive UTF-8 app under 10 years of development that works quite well, but my UTF-16 (Unicode) conversion doesnt work as well because of the mixing of pointers (I think), so I have had to revert much of the code back to UTF-8. (All of which has nothing to do with my question but is simply psychotheraputic for me to ventilate on.)
My question is this: Can UTF-8 and UTF-16 code coexist in a single Win32 console app?
I have some problem with the ssize_t sendfile function.
ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);
The error:
Lesson_4_1A_Home_work.c:84:24: error: expected declaration specifiers or ‘...’ before string constant Lesson_4_1A_Home_work.c:84:37: error: expected declaration specifiers or ‘...’ before string constant Lesson_4_1A_Home_work.c:84:63: error: expected declaration specifiers or ‘...’ before ‘strlen’
I am trying to transfer information of Variables. How to get this to work and everything I follow shows that this SHOULD work but some reason does NOT work... I
What I CAN get to work is if I put frm.show(); on one specific section that ONE section will show up... so I tried putting all of the variables at the end button to get them to show up with the one Frm.show and it still only does the very last one and the rest are just blank I dont really understand as to why.
Also if I put a FRM.show at each step it will just keep creating a new instance of form 2 each with a different line that is changed.
Form1 code
public Form1() { InitializeComponent(); } public void Enter_Click(object sender, EventArgs e) { Form2 frm = new Form2(); Employee FirstName = new Employee();
[Code] .....
Form2 Code
public partial class Form2 : Form { public Form1 frm1; public Form2() { InitializeComponent(); }
I can not do transferring data to textboxes from database.
="c#">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace WindowsFormsApplication1{
In the function *expandArrayList and *trimArrayList I need to allocate either more memory or less memory to the given array. Right now I am using malloc on a new array and then transferring the elements of the original array to the new array, freeing the original array, and then reassigning it to the new array so it's size and capacity are either bigger or smaller than the original. I feel like there has to be a simpler way to do this with either realloc or calloc, but I cant find sufficient information on either online. Would I be able to use either to make this easier and the code cleaner?
Also, these are character arrays that contain several character arrays inside them, so I was wondering what the best way to transfer the contents of one array to the other would be. I have gone between
Code:
//example for (i=0; i<length; i++){ newarray[i] = oldarray[i]; } and Code: for (i=0; i<length; i++){ strcpy(newarray[i], oldarray[i]); }
but I'm not sure which one (if either) should work.
The 'ArrayList.h' file that is included contains the structure ArrayList, as well as the function prototypes for the functions listed below.
Here is the structure in ArrayList.h:
Code:
#define DEFAULT_INIT_LEN 10 typedef struct ArrayList { // We will store an array of strings (i.e., an array of char arrays) char **array;
I'm trying to put file data into members of a class. Remember to type in the file name you want to open. Cool feature right? I just had Dbase.txt so I chose that.
Fixed stuff in the .txt. Now I need to figure out why it only does 1 set and then ends.
#include <cstdio> #include <cstdlib> #include <iostream> #include <fstream> using namespace std; class INFO {
[Code] .....
Dbase.txt: Bob Guy Programmer M 9999.99 40 ------------------ Little Guy Little Brother M 0.0 3 ------------------
I am writing a program to zip and unzip files using Huffman Encoding. I have successfully Built my Huffman Tree but I am unable to traverse through it to retrieve code the code for each character in sample files using the GetCode() method.
Specifically I am having trouble with the following segment in zip.cpp where I want to go through my built tree and print out each character and it's associated ascii value using the GetCode() method in huffman.cpp
cout << " Here are the codes: "<< endl; for(char ch = char(0); ch <= char(255); ch++) //for(int i= 1; i < 256; i++ ) { //int x = (char) i; if(mytree.inTree('*'))
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:
Basically, I am inserting data from an ODBC connection into a PostgreSql database using the COPY query, but the COPY query stops and returns this error...
Quote ERROR: invalid byte sequence for encoding "UTF8": 0x92 CONTEXT: COPY [TableName], line 1: "189572|1-00-1202|1-|00-|1202||AP||1... STATEMENT: COPY [TableName] FROM STDIN (DELIMITER '|', NULL '')
I have a char *pch that points to an integer digit 1 or 2 or ... 9. To get the character that's 1 less, instead of converting to int, minus 1, then converting back to char, I tried (*pch -1) and that seemed to work. I suppose that's because the particular character encoding on my system is such that the digits are encoded in the same order and spacing as the integers they represent. So the question is does this "convenience" feature hold true for all character encoding systems?
I'm trying to have a button marked by the sqrt sign, '√'.
I wrote below code and typed that sign by holding down "alt" and typing 251 using numpad. But result is the question mark instead of sqrt mark!
My machine is Windows 7 x86 and IDE is visual studio 2012.
#include <GUI.h> using namespace Graph_lib; //--------------------------------- class Test : public Window { public: Test(Point, int, int, const string&);
I'm writing a school assignment that writes/reads user input into and out of a binary file.
I've gotten the write part to work, but now I need to be able to read that file back in and display it as a string.
I think I should be using fread() and read my file into an array of int's right? But when I try printing out that array I get a whole bunch of numbers that don't match the hex code in my file.
How do I read in a binary file and print it out as a string?