strcat( string , char )

Tags:    c++

Hej

Er der en metode til i C, hvor man kan caste en char til en streng, eller på anden måde kan ændre den til en streng, således jeg kan bruge strcat til at sammen sætte den med en streng.

Fejlen jeg får er:
main.c: In function `main':
main.c:9: warning: passing arg 2 of `strcat' makes pointer from integer without a cast





5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato

Fejlen jeg får er:
main.c: In function `main':
main.c:9: warning: passing arg 2 of `strcat' makes pointer from integer without a cast


Kan du ikke sende den kode snippet, hvor den fejler? Hvis din streng er en std::string, så kan du bruge metoden c_str() til at få en char* som du kan anvende.

Generelt er det bedre du bruger strncat(). Den er mere sikker, da du undgår risiko for buffer overrun. Se nedenstående for hvordan den bruges.

/* STRNCAT.C */

#include <string.h>
#include <stdio.h>

void main( void )
{
char string[80] = "This is the initial string!";
char suffix[] = " extra text to add to the string...";

printf( "Before: %s\\n", string );
strncat( string, suffix, 19 );
printf( "After: %s\\n", string );
}

Hth




Indlæg senest redigeret d. 16.01.2007 22:36 af Bruger #10448
Du kan ikke bruge strcat direkte, men du kan:
Fold kodeboks ind/udKode 


Eller

Fold kodeboks ind/udKode 


Det er oftest smartere at bruge std::string:

Fold kodeboks ind/udKode 




Jess:
Det jeg forsøger er at sætte et char array sammen med en char, og det kan strcat åbenbart ikke lide.

Bertel:
Tak, så bliver jeg nok nødt til at lave min char om til en streng.



Fold kodeboks ind/udKode 




Tak Robert, men jeg kunne nu godt selv...

Her er kode som jeg arbejde på at få til at virke, den kunne jo være at andre kunne bruge det til noget, jeg har dog ikke komenteret kode så det er måske ikke så lige til.
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 19.01.2007 16:17 af Bruger #3789
t