Kezdőoldal » Számítástechnika » Programozás » Pointer értékének átadása?

Pointer értékének átadása?

Figyelt kérdés

Van két char * válltozóm.

Egyikbe írok valami. (printf-el látom is.)

Hogyan tudom ezt az értéket úgy átadni egy másik char* válltozónak hogy az ne az első-re mutasson, hanem egy új memóriacímen tárolja el az értéket?


2017. márc. 8. 20:51
 1/2 anonim ***** válasza:

Ha ilyen feladatod van, két dolog jöhet szóba:

1) Ha konkrétan char*-gal dolgozol, akkor az strcpy,

2) Ha általános megoldás kell, akkor memcpy.


char* strcpy(char* hová_másolsz, char* mit_másolsz);

Példa:

char Eredeti[] = "Ez egy szöveg";

char Masolat[51]; //Figyelj arra, hogy a másolatot tároló memóriaterületet előre le kell foglalni

strcpy(Masolat, Eredeti);


void* memcpy(void* hová_másolsz, void* mit_másolsz, size_t hány_bájtot_kell_másolni);

Példa:

int Eredeti[] = {5, 6, 7, 8, 9};

int Masolat[5]; //Figyelj arra, hogy a másolatot tároló memóriaterületet előre le kell foglalni

memcpy(Masolat, Eredeti, sizeof(int) * 5);

2017. márc. 8. 21:08
Hasznos számodra ez a válasz?
 2/2 |Orfeusz| ***** válasza:

#include <stdlib.h> // ez gondolom megvan


char *ujstring = (char *)malloc(szöveg_hossza);

for (int i=0; i<szöveg_hossza; i++) {

ujstring[i] = regi[i];

}


vagy lehet strcpy() függvénnyel.

2017. márc. 8. 21:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!