Leitura de arquivo em c++ não funciona no linux

1. Leitura de arquivo em c++ não funciona no linux

Tiago da Silva Pimentel
Tiago Pimentel

(usa Ubuntu)

Enviado em 07/12/2015 - 18:38h

Boa noite pessoal, tenho um código que está rodando normalmente no windows(g++), mas no linux(g++) compila mas não realiza a leitura do arquivo de entrada de dados.
O programa até passa a validação se realmente carregou o arquivo no if:

if(file == NULL){
printf("Erro, nao foi possivel abrir o arquivo\n");
exit(0);
}

mas na hora de ler os dados ele não lê nenhum, segue o código:

#include <iostream>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

using namespace std;

typedef struct _instancia{
char name[32];
char comment[100];
char type[10];
int dimension;
char edgeType[100];
int capacidade;
} instance;
instance inst;

int main(int argc, char* argv[]){
//cout << argv[1];

FILE *file;
file = fopen("./A-n32-k5.opt", "r");
//file = fopen(argv[1], "r"); //entrada de dados

if(file == NULL){
printf("Erro, nao foi possivel abrir o arquivo\n");
exit(0);
}

//no windows as entradas sem os (char*)
//estou usando aqui pois o compilador reclamou.
fscanf(file, "NAME : %s \n", (char*)&inst.name);
fscanf(file, "COMMENT : %[^\n]\n", (char*)&inst.comment);
fscanf(file, "TYPE : %s\n", (char*)&inst.type);
fscanf(file, "DIMENSION : %d\n", &inst.dimension); //nem mesmo os inteiros esta lendo

Espero que possam me ajudar.
Obrigado


  


2. Re: Leitura de arquivo em c++ não funciona no linux

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/12/2015 - 00:02h

* Você não deveria misturar coisas de C com C++ como <iostream> e <stdio.h>.
* Seu programa está faltando partes
* Função main() não fecha com }
* Quais os erros que aparecem?

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd

http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Leitura de arquivo em c++ não funciona no linux

Tiago da Silva Pimentel
Tiago Pimentel

(usa Ubuntu)

Enviado em 08/12/2015 - 00:12h

Na verdade, eu não coloquei parte do código, por isso a main ai não havia fechado.
Mas achei o erro, o arquivo de entrada de dados estava errado, e como a entrada é padroniza, logo daria problema!

Mas obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts