Enviado em 01/03/2019 - 12:04h
Tentarei explicar minha dificuldade, olhem o exemplo abaixo que fiz e os comentários para essa pergunta.#include <stdio.h>
#include <string.h>
int main(void){
/* 1) QUERO PREENCHER UM VETOR COM VALORES IGUAIS. NÃO ESTOU CONSEGUINDO FAZER!
OBS: SEI SOBRE O FINAL DA LINHA \0 MAS VAMOS IGNORAR POR ENQUANTO POR FAVOR!
ESTES TESTES QUE ESTOU FAZENDO O OBJETIVO É EU ENTENDER MELHOR AS VARIÁVEIS */
char Text[50] = {0}; // FUNCIONA, Preencho o vetor com ZEROS
/* OBS AQUI nesta linha não quero varrer o vetor para preencher! Tipo com for ou while.
A idéia seria preencher de uma só vez na declaração */
char Text2[50] = {1}; // NÃO FUNCIONA, Preencher o vetor com números 1. Ele só escreve em Text2[0]
// EU queria preencher como consegui fazer com os ZEROS acima
// COMPILADOR NÃO ACEITA ISSO
// char Text3[50] = {a}; // Preencher ele inteiro com alguma letra
char Text4[50] = {'x'}; // FALHA só preenche a posição Text4[0]
char Text5[50] = {"x"}; // FALHA só preenche a posição Text5[0]
/* DÚVIDA ABAIXO, eu estou apanhando muito, minha cabeça deu um nó pois não sei
porque não sei colocar um valor em uma posição da variável */
strcpy(Text, "Vivx o Linux"); // Preenchi minha variável com um texto menor que o vetor.
/* Quero agora colocar a letra a no lugar do x!
PORÉM: Não quero localizar o x, Não quero varrer a variável!
Quero somente atribuir um valor a uma posição que eu determinar! Mas não sei se é posível ou permitido isso!
ISSO É POSSÍVEL? */
Text[3] = "a"; // Não funciona Ele colocou um 4 ao invés de a
Text[1] = "b"; // Não funciona Ele colocou um 6 ao invés de b
// Eu queria colocar a LETRA não o decimal
Text[3] = 'a'; // Ele colocou o Decimal de a 97
Text[1] = 'b'; // Ele colocou o Decimal de b 98
// EXISTE alguma forma de eu atribuir valor de forma parecida com a de cima?
}
#include <stdio.h>
#include <string.h>
void concatenate(char [], char []);
int main(){
char Texto1[20] = "Nick", Texto2[] = " usa Slackware";
concatenate(Texto1, Texto2);
printf("Texto = %s\n", Texto1);
}
void concatenate(char Texto1[], char Texto2[]){
/* Aqui dentro, os Texto1 e Texto2 viraram ponteiros não são vetores! PORQUE?
Não entendo eles serem ou parecerem ponteiros, porque não existe nenhuma declaração com *
para indicar que é um ponteiro */
int c = strlen(Texto1), d = 0;
while(Texto2[d] != '\0'){
Texto1[c] = Texto2[d]; // Ele junta os textos como se fossem ponteiros. SÃO PONTEIROS OU NÃO?
d++;
c++;
}
// Aqui posso escolher a posição que quero escrever meu texto. E no caso do 1º Código acima não consigo de forma alguma
Texto1[c] = '\0';
}
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (1)
VMs e Interfaces de Rede desapareceram (13)
Como abrir o pycharm no linux [RESOLVIDO] (4)