document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. [...]
  2.  
  3. void lerLinhaSorteada(char *nomeDoArquivo){
  4.     int quantidadeDeLinhas = contarNumeroDeLinhas(nomeDoArquivo);
  5.    
  6.     if(quantidadeDeLinhas == -1){
  7.         return;
  8.     }
  9.  
  10.     int linha = sortear(quantidadeDeLinhas);
  11.    
  12.     FILE *arquivo = fopen(nomeDoArquivo, "r");
  13.     if(arquivo == NULL){
  14.         return;
  15.     }
  16.  
  17.     moverPonteiroArquivo(&arquivo, linha);
  18.  
  19.     char palavra[100];
  20.     fscanf(arquivo,"%s\\n",palavra);
  21.     fclose(arquivo);
  22.  
  23.     printf("%s\\n",palavra);
  24. }
  25.  
  26. int contarNumeroDeLinhas(char *nomeDoArquivo){
  27.     int quantidadeDeLinhas = 0;
  28.     char caracter;
  29.     FILE *arquivo = fopen(nomeDoArquivo, "r");
  30.  
  31.     if(arquivo ==NULL){
  32.         quantidadeDeLinhas = -1;
  33.     }else{
  34.         while(fscanf(arquivo, "%c", &caracter) != EOF){
  35.             if(caracter == \'\\n\'){
  36.                 quantidadeDeLinhas++;
  37.             }
  38.         }
  39.  
  40.         fclose(arquivo);
  41.     }
  42.  
  43.     return quantidadeDeLinhas;
  44. }
  45.  
  46. int sortear(int limite){
  47.     return rand()%limite+1;
  48. }
  49.  
  50. void moverPonteiroArquivo(FILE **arquivo, int linha){
  51.     char palavra[100];
  52.  
  53.     for(int i=0; i<linha-1; i++){
  54.         fscanf(*arquivo, "%s\\n",&palavra);
  55.     }
  56. }
  57. [...]
');