Enviado em 31/03/2018 - 13:48h
Estou criando um sistema de arquivos, para isso criei um arquivo com "fopen" e o populei usando "fwrite" com um caractere que será considerado nulo para esse meu sistema de arquivos. Fui na parte alta da tabela ASC II e usei o caractere 'ÿ' que é equivalente a FF em hexadecimal e não é muito utilizado.main.c: In function ‘formatahd’: main.c:96:11: warning: multi-character character constant [-Wmultichar] char c = 'ÿ'; // FF em hexadecimal ^~~~ main.c:96:11: warning: overflow in implicit constant conversion [-Woverflow]
int formatahd(char nome_hd[]){ char c = 'ÿ'; // FF em hexadecimal strcat(diretorio, nome_hd); FILE *f_hdv; f_hdv = fopen(diretorio, "wb"); if (f_hdv == NULL){ strcpy(diretorio, dir_padrao); return -1; } for (i = 0; i < BLK_SIZE * BLK_QTD; i++){ fwrite(&c,sizeof(char),1,f_hdv); } fclose(f_hdv); //retirar depois f_hdv = fopen(diretorio , "rb"); if (f_hdv == NULL){ return -1; } for (i = 0; i < BLK_SIZE * BLK_QTD; i++){ fread(&c,sizeof(char),1,f_hdv); printf("%c ", c); } fclose(f_hdv); printf("\n"); // ate aqui strcpy(diretorio, dir_padrao); return 1; }
Enviado em 31/03/2018 - 14:26h
De fato, o caráter y-com-trema tem o código 255 nos conjuntos de caracteres Unicode, ISO-8859-1 e Windows CP1252. Contudo, no caso do Unicode, que é um conjunto de caracteres com mais de um milhão de caracteres e símbolos, um único byte não é suficiente para representar todos os possíveis caracteres.Enviado em 31/03/2018 - 15:55h
Enviado em 01/04/2018 - 14:57h
O problema é que, apesar do nome, o tipo char do C funciona mais como um tipo numérico destinado a armazenar valores inteiros que caibam em um byte.Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Problema ao iniciar o Opensuse Tumbleweed (3)
Erro ao atualizar o archlinux [RESOLVIDO] (3)