1
resposta

Leitura e Ordenação em .TSV

Ajuda com Linguagem C. Armazenar valores de um arquivo TSV em variaveis.?

Estou com um problema, em que eu preciso ordenar um arquivo TSV, porém eu não estou nem conseguindo armazenar os dados em uma variável para começar a ordenação. Em arquivos como txt e csv que costumam utilizar virgulas ou outro tipo de separador, eu consigo facilmente, porém nesse arquivo TSV, a divisão é dada por tabs, porém diferentes em cada campo. Já tentei transformar o tab em virgula e não obtive nenhum sucesso, alguém pode me ajudar?  É necessário apenas conseguir armazenar os valores nas variaveis, para que depois eu consiga fazer a ordenação. Segue um exemplo do arquivo abaixo: 

307 Abraham Lincoln UNITED STATES

308 Aristotle Greece

339 Ayn Rand Russia

595 Andre Agassi UNITED STATES

628 Aldous Huxley UNITED KINGDOM

676 Andrei Tarkovsky Russia

700 Arthur Schopenhauer POLAND

736 Albert Einstein Germany

1 resposta

Vamos insistir nessa ideia sua de transformar tab em vírgula porque é a melhor saída na minha opinião.

Baixe o editor de texto notepad++

Abra o arquivo e aperte ctrl+H para abrir o menu de substituiçao.

Lá em baixo nos radios button marque Estendido

No campo localizar escreva: \t

e no substituir escreva: ,

e clique em Substituir todos.

E pronto agora carregue o arquivo no seu programa e trate como vírgula.

Haha mas agora eu me dei conta que você pode passar o \t no lugar da vírgula no seu programa C também. Fica a seu critério qual opção escolher.