alves077 Posted February 25, 2013 at 10:07 AM Report #496931 Posted February 25, 2013 at 10:07 AM (edited) Boa tarde, [edit] Estou com um problema, se alguém tiver uma ideia... Como posso copiar partes de um array para outro array, com o memcpy ou strcpy consigo copiar partes de um array para outro? Obrigado pela atenção, alves077 Edited February 25, 2013 at 10:16 PM by alves077
hmiguel Posted February 26, 2013 at 06:35 PM Report #497111 Posted February 26, 2013 at 06:35 PM (edited) Suspeito que andas a estudar a matriz de Hadamard 😄 Edited February 26, 2013 at 06:35 PM by hmiguel "Homem que é Homem não usa Java!"
pmg Posted February 26, 2013 at 06:58 PM Report #497115 Posted February 26, 2013 at 06:58 PM O strcpy(), pela sua propria natureza, copia parte dum array para outra. A parte que ele copia é a parte que vai desde o principio do array original até (inclusive) ao primeiro elemento com valor zero. Com o memcpy() podes especificar um determinado numero de elementos. Mas o meu conselho é fazeres um (ou dois (ou tres -- nao mais que isso)) ciclo para seleccionar e copiar o que pretendes. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
alves077 Posted February 27, 2013 at 01:17 AM Author Report #497181 Posted February 27, 2013 at 01:17 AM Sim hmiguel... Tenho um ciclo que percorre as linhas e queria copiar a linha, só que as vezes posso copiar metade da linha, o problema e que tenho uma linha inteira com uma string, isto é, fecho com \0, uma linha, e não estou conseguir copiar todo bem, fica pela 1ª linha bem copiada. Estou a usar o memcpy, digo o array destino, o array origem e o tamanho que é igual á metade do array. Mas não está-me a dar bem.. alguma ajuda? Obrigado pela atenção, alves077
HappyHippyHippo Posted February 27, 2013 at 09:13 AM Report #497193 Posted February 27, 2013 at 09:13 AM apresenta o código que tens IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted February 27, 2013 at 10:13 AM Report #497212 Posted February 27, 2013 at 10:13 AM ... Estou a usar o memcpy, digo o array destino, o array origem e o tamanho que é igual á metade do array ... Não te esqueças de incluir o elemento de valor zero na cópia. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
alves077 Posted February 28, 2013 at 10:02 PM Author Report #497462 Posted February 28, 2013 at 10:02 PM O código é algo do genero: for(pos=0;pos<rows;pos++) { memcpy(&tab[pos_iniclal][pos+pos_fim],temp[pos], strlen(temp[pos])); } tab[pos_inicial][pos+pos_fim+1]='\0'; A ideia e em cada linha da matriz temp que tem metade das colunas da matriz tab, copiar uma linha inteira como string, porque na matriz temp cada linha acaba com o \0, directamente para o tab com o memcpy. sem ter que percorrer caracter a caracter. Obrigado pela atenção, alves077
pmg Posted February 28, 2013 at 10:41 PM Report #497467 Posted February 28, 2013 at 10:41 PM O que é que tens contra o strcpy()? ???!?!?!?!#%@$@!?? for(pos=0;pos<rows;pos++) { strcpy(&tab[pos_iniclal][pos+pos_fim], temp[pos]); } Se queres usar a tua versao passa a atribuicao do '\0' para dentro do ciclo for(pos=0;pos<rows;pos++) { memcpy(&tab[pos_iniclal][pos+pos_fim],temp[pos], strlen(temp[pos])); tab[pos_inicial][pos+pos_fim+1]='\0'; } What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now