C++ :: How To Insert Strings Into Array Of Type Char
Sep 2, 2013How to insert strings into an array of type char and also delete strings from that char array.
View 4 RepliesHow to insert strings into an array of type char and also delete strings from that char array.
View 4 RepliesI'm having some problems with changing an array of numbers of type char to type int. Every time i try to sum 2 array indexed values it returns some letter or symbol. Also, if i change the type of the array in the functions the compiler gives me an error message. I would also like to add that the problem requires that the first two arrays be char so each individual number gets assigned to a different value.
My current code is:
Code:
#include <iostream>
void input(char a[], char b[], int& size_a, int& size_b);
void convert(char a[], int size);
void reverse(char a[], int size);
void add(char a[], char b[], int c[], int size);
int main()
[Code]....
how to convert an element of int type of an array to char type?
View 2 Replies View RelatedThe goal is to merge two files of names, sort them and remove duplicates.I've managed to merge the two files into a single char array and sort them with a function so they are alphabetical.I'm having problems removing the duplicate entries from the array. Here is my code:
Code:
#include <stdio.h>
#include <string.h>
#define NUMSTR 10
#define STRLNG 9
[Code]....
I am trying to read strings to an char array from an .exe file and then i would check some of the strings, but the problem is that the only thing that is read from the file is the first string (MZ) and an 'square' that is some incorrect character. I am using fread to read from the file. Here is my code:
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen("my_file.exe", "rb");
if( pFile == NULL) exit(1);
fseek(pFile,0, SEEK_END);
[Code] ....
(I want to read the whole file, its not that big)...
I am having issues getting this working. This is a simple program that is designed to ask a user if he would like to enter a string, if yes, the user is prompted to enter it and its stored in a char array. User is then asked if he wants to enter another string... Once user responds no, the program outputs the strings and the program ends...
Note: I'm using in.getline(myarray[i], MAX, ' '), to avoid white space problems if user enters a space. Lastly I would like the option of letting user enter any number of strings, but how would you do this when declaring the 2 dimensional char array?
#include <iostream>
#include <string>
using namespace std;
const int MAX = 81; //max char is sting is 80
int main(){
string y_n;
bool go = true;
[Code] ....
how to insert a variable for the size of array and prompt user to insert the elements for the array?
View 13 Replies View RelatedI have an array of char pointers:
Code: char *input_args[MAX_ARGS];
And I have this function:
Code: BOOL parseArgs(char **input_args[], input arg_num);
I am trying to pass a pointer to this char pointer array like this:
Code: parseArgs(&input_args, args_num);
But the compiler is complaining:
Code: warning: passing argument 1 of 'parseArgs' from incompatible pointer type ...
note: expected 'char ***' but argument is of type 'char * (*)[20]'
Tried a bunch of stuff but nothing works.
I am trying to convert a char buffer[1024] with raw data to int 16 buffer2[1024] which is supposed to have hex data (0x01, 0x02 kind of format).
Code:
char temp_buffer[1024];
block_size = sizeof(temp_buffer);
num_blocks = sizeof(char);
Status = mount(0, &myfsObject);
if(Status != DAVEApp_SUCCESS)
[Code] .....
I am verifying the data of resultant buffer by creating a new file and writing data to it. The result which i got is:
Code: H uy H uy H uy H uy H uy H uy H uy H uy
I am not getting any error below
--------
#include <iostream>
using namespace std;
void main()
{
char sqr[3];
sqr[0] = '1';
sqr[1] = '1';
cout << sqr[0] << sqr[1];
while (1);
}------------
but if I move my char type array before main , I get error l
----------------------------
#include <iostream>
using namespace std;
char sqr[3];
sqr[0] = '1';
sqr[1] = '1';
void main()
{
cout << sqr[0] << sqr[1];
while (1);
}
-------------------
I am writing a class Player which has several char arrays as private fields. I am trying to write a method which returns an array as a pointer, but doesn't alter the array in any way, thus the const.
Here is a snippet:
Code: class Player
{
private:
char state[MAX_STATE_CHAR + ONE_VALUE];
int rating;
char last[MAX_NAME_CHAR + ONE_VALUE];
char first[MAX_NAME_CHAR + ONE_VALUE];
int groupNumber = NEG_ONE;
public:
char * GetFirst() const
{
return first;
}
Visual studio is saying that the return type doesn't match.
I am trying to set a variable of type char equal to an element in an array of characters. For example:
char data[4] = "x+1";
char element;
element = data[2];
This seems like a logical progression from number arrays, but when I print both element and data[2], I get data[2] as expected, but element gives a different character every time (I assume a garbage value).
I have lots of files needed for program named text1,text2, etc. I tried to do a loop like this:
ofstream of;
for(char i='1';i<'9';i++)
{
of.open("text"<<i<<".txt");
}
I tried without << too, but it doesn't work neither. How can I make it work, without writing a line for each operation?
I have two char* that have the same data in (hypothetically).
std::vector<char*> Buff;
Buff = Split(Line, '.');
char* A = "data", B;
B = Buff.at(0)
Where Split is a function that I made to split a string (Line in this case) into a char* vector, this string contains a line from a file. Line is char* too. The weird problem is when Buff data stored in its 0 position is given to B... because B is equal to A (hypothetically) but when this is compared to do certain functions they doesn't match!
Here an example:
std::vector<char*> Buff;
Buff = Split(Line, '.');
char* A = "map", B;
B = Buff.at(0) // Buff.at(0) should be "map" and is apparently "map"
[Code].....
NOTE: I didn't use switch to compare Cmd because I want it separately for easier debugging.
Is there something wrong with my codes?? or what happened here with those hex values before the string in my variables?
I have created a char string[100]. I know this array will be big enough for its purpose. The problem is that it often too big. When I print this string array I get the text plus a lot of gobbledygook at the end which I assume is the extra memory at end of string array. How would I approach trimming this using just C.
I suppose I could nest a for loop that adds to a new array that has a size determined by a counter(although this would give a warning being that a VAR is determining size of array) but I suppose there is a much simpler way to do this.
i have been trying to compare a date format from SYSTEMTIME and a date from a text file(string).But its not working. I tried to change both to string(using osstringstream),char* and int(using sscanf) to do the comparison but with no luck. its pretty simple all i want to do is get the current system date and compare it with the date from the text file. Below is my code:
char szcurrentDate[MAX_PATH] = "";
char szdate_time[MAX_PATH];
SYSTEMTIME st;
GetLocalTime (&st);
GetDateFormat(LOCALE_USER_DEFAULT,NULL,&st,"yyyy-M-d ",szcurrentDate,MAX_PATH); //current system date
//std::ostringstream mm;
[code].....
note : i tried displaying just szcurrentDate and szdate_time they show the date exactly the same. in string,char* or int formats.
I have this program.
Code:
int test_variable;
int main() {
test_variable = (int)0x12;
}
Now my doubt is what is the advantage of type casting 0x12 to int. suppose if the test_variable data type is "char" then should i type cast to "char"?
My assignment is : Please use C type strings ( array representation of strings). Write a program that will ask the user to enter a string. It will then regard that string as a worked-on string and allow the user to perform the following editing functions on it:
s – search
i – insert
a – append
d – delete
a – append
d – delete
r – replace
e – exit
s – search
This option will allow the user to search for a specified string in the worked-on string. If the string is
found, it will display the starting index (position) of the searched string in the worked-on string.
here is what i have so far.
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char a_string[80];
[Code] .....
I have two char variables, m_GPSOffset[13] and m_FileName[100]. When m_GPSOffset has a value assigned to it, say for instance +11:25:30. The first entry of the value, in this case +, is always stored in m_FileName. I am clueless on why this is occurring.
View 15 Replies View RelatedHow can you convert int type to const char*
View 2 Replies View RelatedI came across some code and it's not clear why it is casting an unsigned char * to another pointer type only to free it right after. Here are the relevant structures:
Code:
struct _Edje_Message {
Edje *edje;
Edje_Queue queue;
Edje_Message_Type type;
int id;
unsigned char *msg;
[Code] .....
As you can see, _Edge_Message has a *msg field, but in the function below, they cast it to the other two structure types inside the case blocks of the switch statement only to free it. What is the point or advantage of doing this?
Code:
void
_edje_message_free(Edje_Message *em) {
if (em->msg) {
int i;
switch (em->type) {
[Code] ......
Ive been getting an odd error with this code when I try to compile it, as well as Im not quite sure as how to return my variable "compType" as a char type.
Main
#include <iostream>
#include "Shape.h"
#include <iomanip>
#include <cmath>
using namespace std;
void inputShape( char shape)
[Code] ....
I have always written like a>='0'&&a<='9'&&a>='a'&&a<='z' in loops etc, but no more. Basically add whatever you want to condition, and if you want point a to point b just separate them with a '-' sign. Simply
while(!isCharInside(x,"|a-zA-Z0-9.*/=|-|")){/*code*/}
bool isCharInside(char check,string condition="a-zA-Z*/+=|-|0-9"){
for(unsigned int x=0,z=getLenght(condition);x<z;++x){
if(condition[x+1]=='-'&&(condition[x]!='|'&&condition[x+2]!='|')){
if(condition[x]>condition[x+2])swap(condition[x],condition[x+2]);
for(;condition[x]<=condition[x+2];++condition[x]){if(condition[x]==check)return true;};x+=2;}
else if(check==condition[x])return true;
}
return false;}
Does uses of pointer in char type cause extra overhead?
View 7 Replies View RelatedIf we are using strcpy() for copying the string. As we are passing pointers to it It will copy the string & no need to return the string .This function will finely work with return type as void then why Ritchie has used it as char* strcpy()?
View 4 Replies View RelatedC# type setting a char? I have tried setting as characters, as integers but nothing seems to work?
last try: char mchar = 'X'; // Character literal