ricardo_1977 0 Denunciar mensagem Publicado 5 de Março de 2010 Boa tarde, eu estou com 1 problema que nao consigo resolver.eu consigo escrever dados num ficheiro xls da seguinte forma: char ch = '\t'; fprintf(fp, "%s%c%s%c%s\n", dados,ch, dados,ch, dados); ate aqui tudo bem o ficheiro fica como pretendido mas depois nao consigo ler formatado. estou a tentar ler da seguinte forma: char c; while(fscanf(fp, "%s%c%s%c%s", dados,c, dados,c, dados) !=EOF) ... consigo tirar os dados correctos da 1ª mas nao tiro de mais nenhuma. podem-me ajudar? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
TheDark 0 Denunciar mensagem Publicado 5 de Março de 2010 Esse código compila? É que devias estar a passar o endereço de c, e não o seu valor, à função fsccanf. E mesmo compilando, surpreende-me que funcione a 1ª vez que tentas ler do ficheiro. No fscanf, retira os argumentos c, e substitui o %c por \t na string de formatação. Também podes substituir o %c directamente por \t no fprintf, porque da forma como tens, só estás a aumentar o processamento necessário à execução da chamada à função. Desaparecido. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
ricardo_1977 0 Denunciar mensagem Publicado 5 de Março de 2010 pois eu ja tentei dessa forma e nao deu na mesma(so fda na 1ª linha). talvez o problema estaja no '\n'. se fizer:fprintf(fp,"%s\t%s\t%s\n",dados,dados,dados) ele insere na mesma. depois faço fscanf(fp,"%s\t%s\t%s\n",dados,dados,dados) depois compara com uma string qq um dos dados e so me da true se forem os dados da 1ª linha. o problema estara no '\n'? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites