Zeilenlänge in einem C-Programm

  • Themenstarter Themenstarter Fragezeichen
  • Beginndatum Beginndatum
F

Fragezeichen

Hallo,

ich soll ein Programm schreiben, indem die Zeilenlänge 80 Zeichenspalten nicht überschreiten darf.
Tabulatorzeichen können mehrere Zeichenspalten breit dargestellt werden und sollen mit berücksichtig werden.
Also die Zeilenlänge soll für das gesamte Programm gelten.

Und ich hab echt keine Ahnung, wie ich das anstellen soll.


Könnt ihr mir ein paar Tipps geben? Oder vielleicht einen Ansatz?

LG
 
Also erstens ist das Schwachsinn, Zeilenlängenbegrenzungen wurden nicht für Programmiercode, sondern für E-Mails und Newsgroup-Beiträge erfunden.

Zweitens sollte das trotzdem kaum ein Problem darstellen – C ist ziemlich tolerant bezüglich Leerzeichen und Zeilenumbrüche.

Und drittens: Warum zeigst du uns nicht einfach mal die Code-Ausschnitte, bei denen du Probleme hast? Dann werden die Antworten auch gleich viel konkreter. ;)
 
Hab das hier mal gemacht, in der Konsole bringt er mir aber nur hintereinander "Fehler!".




#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int i;
char puffer[80];
FILE *datei;
datei = fopen("text.txt", "r");
if (datei==NULL)
{
printf("Fehler beim oeffnen\n");
}
else
{

while ( NULL!=fgets(puffer,80, datei))
{
for (i=0; i<80; i++)
{
if(puffer == '\t')
{
i=i+7;
}

if(puffer>80)
{
printf("Fehler!\n");
}
}
}
}
}
 
Also erstens ist das Schwachsinn, Zeilenlängenbegrenzungen wurden nicht für Programmiercode, sondern für E-Mails und Newsgroup-Beiträge erfunden.

Zweitens sollte das trotzdem kaum ein Problem darstellen – C ist ziemlich tolerant bezüglich Leerzeichen und Zeilenumbrüche.
Dem C-Compiler ist es tatsächlich egal, wie lang die Zeilen sind. Einem Menschen, der den Quellcode liest, aber nicht unbedingt. Deshalb kann eine „künstliche“ Begrenzung der Zeilenlänge (z.B. durch eine Richtlinie im Style Guide) durchaus sinnvoll sein.

Hab das hier mal gemacht, in der Konsole bringt er mir aber nur hintereinander "Fehler!".
Zwei Hinweise:
  • Verwende beim Einstellen von Quellcode bitte entsprechende [ code ]-Tags. In diesem Fall [ code=c ]Quellcode[ /code ]. Dann verschwinden auch die Einrückungen nicht und der Code wird schön bunt.
  • Schalte beim Kompilieren sämtliche Warnungen ein und ignoriere diese nicht einfach. gcc liefert mit deinem Quellcode beispielsweise die Meldungen
Code:
test.c: In function ‘main’:
test.c:21: warning: comparison between pointer and integer
test.c:26: warning: comparison between pointer and integer
Das deutet schon mal darauf hin, dass in diesen Zeilen wohl irgendetwas nicht stimmt.

Grüße,
Matthias
 
Zurück