ninifurlar Posted June 1, 2014 at 05:30 PM Report #557820 Posted June 1, 2014 at 05:30 PM boas, estou a tentar passar o conteúdo de um ficheiro.txt para um array de arrays. corre tudo bem até à ultima palavra, que parece não ser copiada. no ficheiro.txt as palavras estão uma por linha. /*copiar todas as palavras para a estrutura*/ while( (fgets (array_aux, sizeof (array_aux), doc))!=NULL ) { array=(char*) malloc (sizeof(char)*30); strcpy (array, array_aux); palavras[i]=array; i++; } qual pode ser o erro?
RicardoLopes Posted June 1, 2014 at 05:46 PM Report #557823 Posted June 1, 2014 at 05:46 PM Penso que estejas a fazer o mesmo trabalho que eu, abre o ficheiro txt e dá um enter no fim para teres mais uma newline e guarda o ficheiro e já te deve ler a última palavra, até porque estava a ter o mesmo problema e foi assim que resolvi.
ninifurlar Posted June 1, 2014 at 05:56 PM Author Report #557824 Posted June 1, 2014 at 05:56 PM (edited) Anda cá muito pessoal a fazer o mesmo trabalho xD Eu já tenho o enter no fim, e mesmo assim continua a não assumir a ultima palavra.. EDIT: dei dois enters e funcionou , obrigada. Edited June 1, 2014 at 05:56 PM by ninifurlar
lusitan Posted June 1, 2014 at 07:11 PM Report #557829 Posted June 1, 2014 at 07:11 PM Essa solução é um bocado marreta. O fgets lê as linhas todas, independentemente do número de linhas em branco. Controlem bem os ciclos que o problema não está no número de newlines. Por exemplo, aquando da interrupção do ciclo, a variável i já está incrementada (e se calhar é utilizada para outra coisa qualquer a seguir) Para poder investigar melhor tenho mesmo de ver mais código do que esse.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now