Klausimai pažymėti „strdup“

Strdup () funkcija kartoja eilutę.
10
atsakymai

strdup () - ką jis daro C?

Koks yra strdup () funkcijos tikslas C?
Nustatyti spalio 31 d '08 10:15
5
atsakymai

strcpy vs strdup

Aš perskaičiau, kad strcpy skirtas nukopijuoti eilutę, o strdup grąžina žymeklį į naują eilutę, kad dubliuotų eilutę. Ar galėtumėte paaiškinti, kokiais atvejais norite naudoti strcpy ir kokiais atvejais norite naudoti ...
nustatyti 24 dec. '12 13:53
7
atsakymai

strdup arba _strdup?

Kai aš naudoju strdup „Microsoft Visual C ++“, jis įspėja mane: įspėjimas C4996: „strdup“: šio elemento POSIX pavadinimas yra pasenęs. Vietoj to naudokite ISO suderinamą pavadinimą: _strdup. Norėdami gauti daugiau informacijos, žr. Taigi, ka ...
Nustatykite rugsėjo 28 d '11 14:17
4
atsakymai

Obj-C: Malloc atmintis nuteka 48 baitai strdup rėmelyje

Mano paraiškoje gaunu keletą atminties. Objektas yra 48 baitų Malloc, ir jis visada ateina iš atsakingo skambintojo. Objekto istorija rodo tik tai, kad jis buvo didingas, ir niekas kitas neišlaiko ar neatleidžia ...
Nustatyta kovo 27 d. 12, 0:46
7
atsakymai

„Strdup“ () funkcija

Neseniai sužinojau, kad strdup () funkcija, kurią man patiko naudoti tiek OS X, nėra ANSI C dalis, bet dalis POSIX. Nenoriu perrašyti visų mano kodų, todėl manau, kad aš tiesiog parašysiu savo strdup () funkciją.
nustatytas sausio 27 d '09 8:14
4
atsakymai

Funkcija „memdup“ C?

C sistemoje galite naudoti strdup, kad trumpai priskirtumėte buferį ir nukopijuotumėte eilutę. Tačiau, kiek aš žinau, bendra funkcija nėra tokia. Pavyzdžiui, aš negaliu pasakyti struktūros myStruct * foo = malloc (sizeof (struct myS ...)
01 gr. '12 23:49
4
atsakymai

Kaip naudoti strdup?

Prieš skambindamas strdup, aš vadinu strdup ir turiu skirti kintamąjį. char * kintamasis; kintamasis = (char *) malloc (dydis (char *)); kintamasis = strdup (žodis); Ar tai darau teisingai? Arba čia kažkas negerai?
nustatyti 19 Vas '13, 3:30
3
atsakymai

strdup ir atminties nutekėjimas

Ar strdup renka kitą atminties zoną ir kiekvieną kartą sukuria kitą žymeklį? Pavyzdžiui: Ar šis kodas sukelia atminties nutekėjimą? void x (char ** d, char * s) {* d = strdup (s); } int main () {char * test = NULL; x ( test, "abcd");
nustatyti 21 d. '13 - 0:07
1
atsakymas

strdup () iš lankstymo / bisono skiriamos eilutės išleidimas

Turiu lankstų kodą, kuris kopijuoja eilutės leksiką, naudodamas strdup (). % {#include "json.tab.h" #define YY_DECL extern "C" int yylex ()%}% variantas noyywrap %% [\ t "[a-zA-Z] +" {yylval.sval = strdup (yytext); grąžinti STRING; } [0-9] + ...
Nustatykite birželio 28 d., 15 val
10
atsakymai

Kaip galiu saugiau parašyti šį C fragmentą?

Turiu tokį C kodo fragmentą ir turiu nustatyti klaidą ir pasiūlyti saugesnį būdą rašyti: char somestring [] = "Siųsti pinigus!" char * kopija; copy = (char *) malloc (strlen (somestring)); strcpy (kopija, somestring); printf (c ...
gegužės 26 d. 19:49 val
5
atsakymai

alternatyvi strdup

Rašau C + + klasę knygai, kurioje yra pavadinimas: class Book {private: char * nm; .......... ............ .......... ...........}; Šiam uždaviniui neleidžiama naudoti std :: string. Taigi čia naudoju strdup, kad nukopijuotumėte vertybes ...
nustatyti kovo 15 d. 10:35
4
atsakymai

Strdup klaida g ++ su C ++ 0x

Turiu kodą C ++ 0x. Aš galėjau jį atkurti toliau. Toliau nurodytas kodas puikiai veikia be -dd = c + + 0x, bet man reikia jo tikrojo kodo. Kaip įjungti strdup C + 0x? su gcc 4.5.2 pastaba Naudoju mingw. Bandžiau įjungti cstdlib, cstring, str ...
07 Bal '11 prie 1:34
2
atsakymai

Char * konvertuojant į int po strdup ()

Kodėl, naudojant strdup (value) (int) reikšmę, grąžinamas kitoks rezultatas nei anksčiau? Kaip gauti tą patį rezultatą? Mano trumpas pavyzdys buvo blogas, naudokite ilgą: čia yra visas testų kodas: #include <stdio.h> # include <io ...
yra nustatytas kovo 23 d., 13 val
2
atsakymai

Kaip išvengti įspėjimų apie „nulinį argumentą, kai nulinis“

Sukurkite šį kodą: #include <string.h> #define FOO (NULL) int main (int argc, char * argv []) {char * foo; jei (FOO) foo = strdup (FOO); grąža 0; } veda prie šio kompiliatoriaus įspėjimo: foo.c: In func ...
22 val. '14, 15:57
7
atsakymai

Koks skirtumas tarp eilutės ir vartotojo įvestos eilutės C

Mažesnę kodo dalį naudoju didesnės (pradedantiesiems) programos funkcijoms patikrinti, tačiau nesuprantu skirtumo tarp dviejų eilučių. Radau ir naudoju: #include <stdio.h> #include <string.h> int main () {char * ...
yra nustatytas kovo 20, 18, 20:14