2009-03-19, 16:23
  #1
Medlem
Jag gör ett av mina första program som, men får inte till det där med strängar.

Kod:
#include<stdio.h>
#include<conio.h>
#include<string.h>

int GetInfo(int number[], char str[]){
    int lan;
    lan=number[0]+number[1];

    if (lan>=1 || lan<13)
    str[30]="Hej kom och hjälp mig";
       
}

int main(void){
    int lan,a;

    int number[4]={1,2,9,1};
    char str[11];
    
    a=GetInfo(number,str);

    printf("--- %s ---\n",str);
    
    getch();   
    return(0);
}

Jag vill att texten "Hej kom och hjälp mig" ska skrivas ut. Så att den ligger kvar i str till mainen.
Hur skulle jag kunna göra för att det ska funka? Den varnar på raden "str[30]="Hej kom och hjälp mig";".

Är en skoluppgift och funktionen måste ha den här givna raden:
"int GetInfo(int number[], char str[])".

Tacksam för hjälp.
Citera
2009-03-19, 16:28
  #2
Medlem
micaeles avatar
Du kan inte skriva str[30] = "ggg". Det skulle innebära att du på en enskild char-position (med storlek en byte) vill placera en hel sträng. Dessutom är det i C++ otillåtet att tilldela en char-array en hel sträng efter att variabeln är skapad.

Använd t.ex. sprintf() eller strcpy() för att tilldela variabeln str en sträng. Hur det fungerar hittar du i MSDN och eller genom fem sekunder på Google.
Citera
2009-03-19, 17:27
  #3
Medlem
Tack tack!
Det funkade med strcmp(). Lade in strängen först i en variabel, sedan kopierade över. Tack Tack!
Citera
2009-03-19, 17:29
  #4
Medlem
micaeles avatar
Citat:
Ursprungligen postat av ikairutan
Tack tack!
Det funkade med strcmp(). Lade in strängen först i en variabel, sedan kopierade över. Tack Tack!
Bra att det ordnade sig. Men hur lyckades du använda strcmp för att föra över en sträng till en annan?
Använd hellre sprintf eller just strcpy (kanske den du menade?) för att det skall se bra ut.
Citera
2009-03-19, 17:48
  #5
Medlem
Precis, menade strcpy() såklart.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in