DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C (http://www.daniweb.com/forums/forum118.html)
-   -   Split string into char array (http://www.daniweb.com/forums/thread107246.html)

vtskillz Feb 1st, 2008 5:00 pm
Split string into char array
 
Hi, I was wonder if someone could give me some help with my program

I have a variable:

char *insert = "abcdefgh"

and i want to split that into chars like so, 'a', 'b', 'c', 'd', etc.

I've tried ToCharArray(), but that doesnt seem to work

Narue Feb 1st, 2008 5:04 pm
Re: Split string into char array
 
>I have a variable:
>char *insert = "abcdefgh"
>and i want to split that into chars like so, 'a', 'b', 'c', 'd', etc.
Uh, you're done. A string literal is an array of const char and except for modification, sizeof, and address-of you can use the pointer as if it were an array. If you need an actual array, you can do this:
char insert[] = "abcdefgh";
C doesn't have a special string type like Java, so when you're using a string in C, you're really using an array.

gerard4143 Feb 1st, 2008 10:52 pm
Re: Split string into char array
 
Quote:

Originally Posted by vtskillz (Post 523675)
Hi, I was wonder if someone could give me some help with my program

I have a variable:

char *insert = "abcdefgh"

and i want to split that into chars like so, 'a', 'b', 'c', 'd', etc.

I've tried ToCharArray(), but that doesnt seem to work



a string in c/c++ is a array of characters so extract then like so

#include <iostream>

int main(int argc, char**argv)
{
char *insert = "abcdefg";


for (int i = 0; i < 7; ++i)
std::cout<<insert[i]<<"\n";

}

Aia Feb 1st, 2008 11:20 pm
Re: Split string into char array
 
This is C forum. Not C/C++ ;)
Take the time to read how properly tag your code so instead of looking like this:
#include <iostream>

int main(int argc, char**argv)
{
char *insert = "abcdefg";


for (int i = 0; i < 7; ++i)
std::cout<<insert[i]<<"\n";

}

It would look like this:
#include <iostream>

int main(int argc, char**argv)
{
    char *insert = "abcdefg";


    for (int i = 0; i < 7; ++i)
    std::cout<<insert[i]<<"\n";

}

For how to do that read here and here
I don't promise that it'll fix your code, but it'll make it more readable.

naej Oct 11th, 2009 5:40 am
hmm try this
but i'm not sure i'm just a first yr student

char a
char b
.
.
.
char g

hee hee

we're not finished discussing array yet

hmm

Narue Oct 11th, 2009 10:53 am
>but i'm not sure i'm just a first yr student
If you're not sure, don't answer because you're more likely to lead people astray with bad advice than do any good.

>hee hee
Oh, I get it. You're joking. Because anybody who would jump into a thread over a year after it unofficially ended and offer something as inane as your "help" is either trying to get a laugh or is a complete retard. I don't think you're a complete retard (yet), so it must be a pitiful attempt at humor. :icon_rolleyes:

Arcaiz Oct 11th, 2009 12:30 pm
If you really want to make an array of char without '\0' at the end of it. You could make something like this

#include<stdio.h>

int main()
{
char *insert = "abcdefgh";
char outsert[8]; //I use 8 because abcdefgh contains 8 char
int i;

for (i=0;i<8;i++)
{
outsert[i] = insert[i];
}

return 0;
}

But i can't imagine what you only can do with array of char. Please answer me.

harishug Oct 14th, 2009 2:36 am
char *insert = "abcdefgh";

char outsert[8]; //I use 8 because abcdefgh contains 8 char
int i;
for (i=0;i<8;i++)
{
outsert[i] = insert[i];
}
in array outsert you will found array of character .......


All times are GMT -4. The time now is 1:24 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC