Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera to precisando pegar um string de um arquivo sequencial e separa em duas strings e converter para inteiro.
A terceira linha em diante é um labirinto que será alocado em uma matriz.
O arquivo é assim :
---------------------------
ARQUIVO 3
10 31
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x x x b x xp x p x
x x x xxxx xxxxxx x x xx x x x
x x x px x x x x x
xpx x xxxx xxx p x xxxxxp x
x xxx x xxxxx x xpx x x x
x x x x xx x x x xxx x
x xbx p x x x xxxx xb x x
x x xxox x x x p xx x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---------------------------
O que eu preciso e pegar a linha 10 31 separa la ficando assim
int row=10
int column=31
Segue abaixo como eu tentei fazer
#include <string>
#include<iostream>
using namespace std;
#include<stdio.h>
#include "Robo.h"
Labirinto AlocaLabirinto(Labirinto lab,FILE *arquivo)
{
char captura[11],auxRow,auxColumn;
fgets(lab->nome,9,arquivo);
fgets(captura,11,arquivo);
int tam = strlen(captura);
int j=tam;
for(int i =0; i< tam;i++)
{
if ((captura[i]!=" ") && (i < j))
strcat(auxRow,captura[i]);
else
j=i;
if(i > j)
strcat(auxColumn,captura[i]);
}
lab->row= atoi(auxRow);
lab->column=atoi(auxColumn);
lab->EstruturaLab=(char**) malloc(lab->row * sizeof(char*)); //Aloca o vetores de ponteiros(linhas).
for(int i=0;i < lab->row;i++)
{
lab->EstruturaLab[i]=(char*) malloc(lab->column* sizeof(char)); //Aloca em cada posicão do vetor um vetor de ponteiros.(colunas).
}
for(int i=0; i < lab->row;i++)
{
for(int j=0;j < lab->column;j++)
{
lab->EstruturaLab[i][j]=fgetc(arquivo);
}
}
}Carregando comentários...