Just nu i M3-nätverket
Gå till innehåll

Övning...


Alessandra

Rekommendera Poster

Jag ska slå ihop två c-stränfar genom att först allokera utrymme för resultatsträngen och sedan kopiera strängarna efter varandra till resultatsträngen. Jag får ett fel när jag kompilerar, det ser ut så där:

 

/size in array new must have integral type

 

den gnäller på:

 

/char *res = new char[strcat(s1,s2)];

 

jag förstår inte riktigt vad den vill? Vad gör jag för fel?

/Alessandra

 

 

 

Länk till kommentar
Dela på andra webbplatser

jag har räknat ut storleken, samt slår ihop strängarna, men det funkar inte så bra, den kompilerar men skriver inte ut texten..? Min funktion ser ut så här:

char strsum(char s1[], char s2[]){

char s3;

char *res = new char[strlen(s1) + strlen(s2)+2];

strcat(s1,s2);

*res=s3;

return s3;

}

int main()

{

 

char s1[]="Detta är första strängen, ";

char s2[]="och detta är andra strängen.";

cout << strsum(s1,s2) << endl;

 

/Alessandra

 

Länk till kommentar
Dela på andra webbplatser

Du måste kopiera in den första s1 i res först

strcpy(res,s1);

sedan lägga till s2 till res

strcat(res,s2);

sedan returnerar du res.

Och gör om funktionen till en char *

och skippa s3

Är detta en skolövning ?

 

/TN

- http://www.rfc-editor.org/rfc/rfc1149.txt

 

[inlägget ändrat 2003-03-10 15:04:05 av Don Tomas]

Länk till kommentar
Dela på andra webbplatser

ja det är en skolövning, fast ingen inlämnings uppgift, vi har fått en blad med 10 övningar, så jag är inne på min tredje....och så fastnar jag hela tiden :)Jag har prov om två veckor, så jag måste öva, öva, öva, öva....... :)

/Alessandra

 

Länk till kommentar
Dela på andra webbplatser

tack, det fungerade :)
Självklart ;)

 

så jag måste öva, öva, öva, öva....... :)
Självklart ;)

 

Det är klurigt det där om hur mycket kod man ska skriva åt någon som håller på att lära sig. Om jag skriver för mycket så kanske du inte klarar provet, och det vill ju inte jag vara skyldig till.

 

Men det går nog bra ...

 

Du kan nog ändra den där +2 till +1 också,det är ju bara en avslutande nolla som behövs.

 

/TN

- http://www.rfc-editor.org/rfc/rfc1149.txt

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...