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';
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta