Enviado em 25/11/2018 - 10:14h
Olá, recetemente andei fazendo uns testes com strings em C e acabei me deparando com um problema esquisito. O problema....estou com preguiça de descrever (- É SERIO ISSO?), então só vou deixar o código abaixo para vocês examinarem e darem o veredito.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void get_string(char *__string, size_t max){
fgets(__string, max, stdin);
size_t len=strlen(__string);
if(__string[len-1]=='\n'){
__string[len-1]='\0'; //Tira a quebra de linha (o '\n').
}
}
int main(void){
char secret_word[56];
printf("\n[?] secret_word >");
get_string(secret_word, 56);
size_t wordlen=strlen(secret_word);
char secret[wordlen+1];
printf("\n\n[I] secret_word.........: %s\n", secret_word);
printf("[I] secret_word lenght..: %ld\n\n", wordlen);
for(size_t i=0; i<wordlen; i++){
if(secret_word[i]!=' '){
secret[i]='-';
}else{
secret[i]=' ';
}
}
secret[wordlen+1]='\0';
printf("[I] secret..........: %s\n", secret);
printf("[I] secret lenght...: %ld\n\n", strlen(secret));
return 0;
}
zherkezhi@zherkezhi-Lenovo-B40-30:~/Documents$ ./app
[?] secret_word >abacaxi
[I] secret_word.........: abacaxi
[I] secret_word lenght..: 7
[I] secret..........: -------
[I] secret lenght...: 7
zherkezhi@zherkezhi-Lenovo-B40-30:~/Documents$ ./app
[?] secret_word >macaco
[I] secret_word.........: macaco
[I] secret_word lenght..: 6
[I] secret..........: ------
[I] secret lenght...: 6
zherkezhi@zherkezhi-Lenovo-B40-30:~/Documents$ ./app
[?] secret_word >azeitona
[I] secret_word.........: azeitona
[I] secret_word lenght..: 8
[I] secret..........: --------4
[I] secret lenght...: 9
zherkezhi@zherkezhi-Lenovo-B40-30:~/Documents$ ./app
[?] secret_word >ilha da macacada
[I] secret_word.........: ilha da macacada
[I] secret_word lenght..: 16
[I] secret..........: ---- -- --------�
[I] secret lenght...: 17
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Jogos de Azar Online no Android em Portugal: Tudo o Que Precisa Saber (0)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (6)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)