Rcast 0 Denunciar post Postado Setembro 15, 2008 Eai beleza? To tendo um probleminha aqui. Eu declaro um array de chars buffer1 de tamanho de 200 caracteres para ler um pedaço de um arquivo de texto, quando eu transformo o array de char pra string ele adiciona junto os outros caracteres até 200, pois era o tamanho do array. Tem alguma forma dele limpar o array ou o string quando encontrar aqueles caracteres estranhos de char vazio? segue o código que estou usando: StreamReader file = File.OpenText("c:\\b.txt"); // abre arquivo de texto char[] buffer1 = new char[20]; // declara o buffer de leitura file.BaseStream.Position = 0; // seta a posicao para o 1o caractere do texto file.Read(buffer1, 0, 10); // le do caractere 1 ao 10 string linhax = new String(buffer1); // passa o buffer para o string linhax label1.text = linhax; // mostra na label O meu problema maior é que o buffer vai ter tamanho variado dependendo do que encontrar no arquivo de texto.. Agradeço se alguem puder ajudar ae.. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Setembro 15, 2008 Fiz um teste com o seu código e não obtive os caracteres estranhos! Pode postar seu texto do arquivo txt? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rcast 0 Denunciar post Postado Setembro 15, 2008 pode ser um arquivo de texto só com a palavra "imasters" na 1a linha. ele lê os 8 caracteres do imasters e coloca dois [?] [?] nas outras duas posições do buffer (pois o buffer foi declarado com 20). Quando eu passo pra string vem um string de 10 escrito "imasters[?][?]". Será que tem alguma forma de cortar os caracteres nulos, quer dizer se é que isto significa nulo? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Setembro 15, 2008 Cara estranho, pois coloquei uma Label no meu formulário, coloquei seu código no Page_Load e o texto mostrado na minha label foi imasters. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rcast 0 Denunciar post Postado Setembro 15, 2008 Cara que coisa estranha. Olha o que aparece no meu label: imasters�� e se eu mandar ler 20 caracteres e só tiver 8, ele sempre completa o resto com ��������. que caractere eh esse? alguem pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Rcast 0 Denunciar post Postado Setembro 23, 2008 pode ser alguma coisa com o encoding de UTF8? aparentemente ele inicializa o buffer inteiro com caracteres '\0' e quando eu mando converter pra string ele joga esses caracteres que estão sobrando pra dentro do string, mostrando o caractere : � . Alguem pode ajudar? ta complicado aqui e tenho que terminar p/ essa semana :/ valeu Compartilhar este post Link para o post Compartilhar em outros sites
scanx 0 Denunciar post Postado Setembro 30, 2008 Para mim deu tudo certo tmb. Usei o codigo que foi postado e funcionou. Compartilhar este post Link para o post Compartilhar em outros sites
André Baltieri 0 Denunciar post Postado Outubro 15, 2008 Tenta usar o StringBuilder, ou uma List de Strings. Outra coisa, se esses caracteres do fim forem uma quebra de linha, você pode utilizar o Enviroment.NewLine para pular linha. Espero ter ajudado Abraços Compartilhar este post Link para o post Compartilhar em outros sites