WinFuture-Forum.de: Brauche Dringend Hilfe Bei C- Programmierung - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Brauche Dringend Hilfe Bei C- Programmierung


#1 Mitglied ist offline   netzer_delling 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 29. Juni 06
  • Reputation: 0

geschrieben 29. Juni 2006 - 21:41

Hallo!

Ich muss ein C- Programm bis morgen um 24 Uhr abgeben. Hatte in letzter Zeit leider etwas Stress mit Klausuren und Umzug (ich weiß, schlechte Ausrede, aber immerhin hab ich eine ;) ), dass ich erst diese Woche damit anfangen konnte.
Ich hab seit Januar kein Programm mehr geschrieben und bin deshalb etwas außer Übung. Außerdem überfordert mich jedes Mal "segmentation fault". Momentan hab ich ein eher komisches Problem.
In der Main- Funktion frag ich nach einem Dateinamen, der über die Standardeingabe eingegeben werden soll. Bei scanf entsteht dann jedoch, wie sollte es anders sein, ein seg fault. Das komische ist allerdings, dass der nur auftritt, wenn die Datei tatsächlich exisitiert im Ordner. Aber das kann den doch gar nicht stören, oder? Wenn ich einen Dateinamen eingeben habe, der nicht existiert in meinem Ordner, dann geht er in die Funktion und geht dann halt wieder raus, weil in der Datei ja nix drinsteht...
Hat einer ne Ahnung, was das soll, und kann mir weiterhelfen? Falls ja, hätte ich danach sicher ncoh einige Fragen mehr :)

MfG, Nadine
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 29. Juni 2006 - 22:08

Hm... wie wär's, wenn du das Programm einfach mal zeigst?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   netzer_delling 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 29. Juni 06
  • Reputation: 0

geschrieben 29. Juni 2006 - 22:35

Naja, der Rest des Programms is eher ne Rohkonstruktion ;( Aber ich kann ja zumindest mal den Teil, der betroffen ist, reinkopieren:

int main()
{
  char gn[20];
  int **graph;

  {
	printf("Welcher Graph soll eingelesen werden?");
	scanf("%s", gn);
	printf("%s", gn);

   usw...
}


Schon das 2. printf wird nicht mehr ausgeführt, aber nur, wenn ich graph1.txt eingebe, diese Datei existiert in meinem Ordner. Wenn ich nur graph1 oder sonstwas schreibe, macht er printf, geht in die darauffolgende Funktion und dann wieder raus, wie gesagt. Das 1. printf erscheint, ich gebe ein und es gibt "segmentation fault"...
0

#4 Mitglied ist offline   netzer_delling 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 29. Juni 06
  • Reputation: 0

geschrieben 30. Juni 2006 - 20:38

OK, wie sich einige wohl schon dachten, lags eben nicht an dem scanf, sondern an der Funktion. Hab die Struktur jetzt so weit geändert, dass es da kein Problem mehr gibt...
Jetzt hakt's bei mir in der ersten Funktion, die dem Graph Speicher zur Verfügung stellen soll.

Der Anfang sieht folgendermaßen aus:

struct graph *alloc_graph(char *name)
{
  int Knoten, i, Anfang, Kanten, *grad;
  struct graph *g = malloc(sizeof(struct graph));
  FILE *gfile = fopen(name, "r");

  fscanf(gfile, "%d", &Knoten);
  fscanf(gfile, "%d", &Kanten);

  /*hier hab ich jetzt ein debug-printf eingefügt, das nicht mehr ausgeführt wird, stattdessen erscheint "Segmentation fault"*/

  printf("%d", Knoten);

  ...

0

#5 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 01. Juli 2006 - 00:20

Kein Wunder, du versuchst ein Decimal in ein Integer zu schreiben bzw. dann wieder als solchen auszugeben. Du willst %i und nicht %d.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0