Mudflap Posted January 7, 2014 Report Posted January 7, 2014 (edited) Sa se scrie o functie care concateneaza* un numar variabil de siruri decaractere.asta am facut eu dar am doua probleme , marcate ca si comentariu#include<iostream>#include<stdarg.h>using namespace std;char* lipire(char* string,...){ int k; char* x; char* rez=new char; cout<<strlen(rez)<<endl; va_list cuvant; x=string; va_start(cuvant,string); while(x!=NULL) { k=strlen(rez); cout<<"k="<<k; strcat(rez,x);// rez[k+strlen(x)]=' '; x=va_arg(cuvant,char*); } va_end(cuvant); return rez;}// trebuie sa declar pointerul curat ( fara cele 14 caractere de inceput )// trebuie sa pun spatiu dupa fiecare alipire ( cuvant ) - momentan nu merge Edited January 7, 2014 by hate.me Quote
compile Posted January 8, 2014 Report Posted January 8, 2014 rez trebuie alocat cu dimensiune ca altfel iti crapa char* rez=new char[1000]; //poti sa treci odata prin argumente ca sa aflii lungimea exacta daca nu o sti pe cea maximasi apoi trebuie initializat cu 0 ca sa nu ai surprize la strcat memset(rez, 0, 1000);ca sa adaugi spatiu faci strcat(rez, " "); Quote
Mudflap Posted January 8, 2014 Author Report Posted January 8, 2014 Multumesc compile , excelent raspuns .. o sa mai apelez la tine in caz ca ai timp/chef sa ma ajuti Quote