LoOoCo 0 Denunciar post Postado Outubro 17, 2009 Pessoal, Agora tenho outro desafio, preciso ler uma arquivo TXT que poderá ter N linhas, e eu precisarei armazenar em N strings. Fiz um monstrinho com algumas funções que achei e não estou conseguindo fazer funcionar. Se alguém puder ajudar eu agradeço. const int LINE_LENGTH = 100; char str [LINE_LENGTH]; FILE *fQtd = NULL; fopen_s("c:\\qtd.txt","r"); while( fQtd.getline(str,LINE_LENGTH) ) { . . . } fcloseall(); Obrigado,LoOoCo Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Outubro 17, 2009 Antes de mais... fopen_s : http://msdn.microsoft.com/en-us/library/z5hh6ee9(VS.80).aspx Os argumentos estão errados... Compartilhar este post Link para o post Compartilhar em outros sites
LoOoCo 0 Denunciar post Postado Outubro 17, 2009 Antes de mais... fopen_s : http://msdn.microsoft.com/en-us/library/z5hh6ee9(VS.80).aspx Os argumentos estão errados... OK! Acertei a sintaxe. Fiz alguns testes utilizando apenas o fgets, funcionou bem... mais eu soh estou lendo a primeira linha CString caniggia; FILE *stream; char line[100]; if( fopen_s( &stream, "C:\\qtd.txt", "r" ) == 0 ) { if( fgets( line, 100, stream ) == NULL) printf( "fgets error\n" ); else caniggia = line; pCana = GetDlgItem(IDC_EDIT1); pCana->SetWindowText(caniggia); printf( "%s", line); fclose( stream ); } Agora quero tentar ler as demais linhas e armazenar em outras variaveis. 1. Consigo fazer isso utilizando apenas fgets ? 2. getline pode ser a solução ? o que preciso fazer para usa-lo ? ja tentei de tudo, mais ele dah pau. Obrigado mais uma vez. Abraços LoOoCo Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Outubro 17, 2009 Infelizmente getline não será a solução... Seu programa está em C, getline é uma da biblioteca <iostream> do C++ (a classe std::istream também tem um menbro getline) você vai precisar de um array, com "nLinhas" strings, concorda? Então: for (i=0; i<nLinhas; i++) { for (j=0; ;j++) { c = fgets(stream); if (c == '\n') break; else linhas[i][j] = c; } } Compartilhar este post Link para o post Compartilhar em outros sites