Я написал что-то в C, которому нужно открыть file.txt
и управлять некоторыми данными. Я только начал использовать Eclipse (после Code :: blocks и Netbeans), но я не могу найти правильный путь для размещения моего файла, чтобы позволить Eclipse читать его ... какие-либо предложения?Открыть файл в Eclipse
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define COD 10
#define DIP 1000
#define SIZE 5
int main (int argc, char *argv[])
{
int ora, minuti, i = 0, j = 0, min_lav;
int num_dip = 0, trovato, dip_lav = 0;
int vett_or[SIZE][SIZE];
char cod_dip[COD+1], vett_dip[DIP][COD+1];
FILE *fp;
/* Apertura del file */
fp = fopen (argv[1], "r");
/* Verifica della corretta apertura del file */
if (fp == NULL)
{
printf ("Errore nell'apertura del file %s\n", argv[1]);
exit(EXIT_FAILURE);
}
/* Primo caso */
if (argc == 2)
{
/* Lettura dele righe e copia degli elementi in un vettore */
while (fscanf (fp, "%d %d %s\n", &ora, &minuti, cod_dip) == 3)
{
strcpy(vett_dip[num_dip], cod_dip);
num_dip++;
}
/* Stampa dei dipendenti */
for (i = 0; i < num_dip; i++)
printf ("Dipendente %d: %s\n", i+1, vett_dip[i]);
/* Ricerca elementi diversi */
for (i = 0; i < num_dip; i++)
{
trovato = 0;
for (j = 0; j < i && trovato == 0; j++)
{
if (strcmp(vett_dip[i], vett_dip[j]) == 0)
trovato = 1;
}
if (trovato == 0)
dip_lav++;
}
printf ("\n===================================\n");
printf ("Ci sono stati %d dipendenti a lavoro", dip_lav);
printf ("\n===================================\n");
}
/* Secondo caso*/
if (argc == 3)
{
while (fscanf (fp, "%d %d %s\n", &ora, &minuti, cod_dip) == 3)
{
if (strcmp(argv[2], cod_dip) == 0) {
vett_or[i][0] = ora;
vett_or[i][1] = minuti;
i++;
}
}
/* Stampa del dipendente */
if (i == 1)
printf ("Per il dipendete selezionato è stato registrato un solo passaggio\n");
printf ("Dipendente %s:\n", argv[2]);
printf ("Primo passaggio: %d %d\n",vett_or[0][0], vett_or[0][1]);
printf ("Ultimo passaggio: %d %d\n", vett_or[i-1][0], vett_or[i-1][1]);
min_lav = ((vett_or[i-1][0]*60)+vett_or[i-1][1]) - ((vett_or[0][0]*60)+(vett_or[0][1]));
printf ("Il dipendente selezionato ha lavorato per %d minuti\n\n",min_lav);
}
return 0;
}
Правильно ли указано имя файла в сообщении об ошибке (в предложении 'fp == NULL')? – simon
«Что такое« лучший выбор »(на ваш взгляд) для C/C++ IDE в Unix?» - здесь задавались многочисленные вопросы, подобные этому, и закрыты для того, чтобы быть субъективными и приводить к бесконечной евангелизации. Тем не менее, * мое предложение предполагает ** не ** использовать IDE в начале, но с использованием компилятора командной строки и простого текстового редактора, потому что вы хотите изучить ** C **, а не Eclipse/NetBeans/MSVC/.... – DevSolar
@simon имя напечатано правильно да ... – Lc0rE