Backspace in C

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/backspace_in_c_85450/page_1 - zur Vollversion wechseln!


x3 schrieb am 10.07.2003 um 09:08

hab ein problem damit, das mein programm zur zeit einfach, an bestimmten stellen ein enter macht.
da wollt ich fragen wie der befehl in C heist das ich das letzte zeichen löschen kann?
in google finde ich nähmlich nicht wirklich was.


that schrieb am 10.07.2003 um 09:11

\b (backspace) Moves the active position to the previous
position on the current line. If the active position is
at the initial position of a line, the behavior is
unspecified.


murcielago schrieb am 10.07.2003 um 09:11

a bissl präziser? was tut das programm, unter welchen bedingungen machts ein "enter"? wie merkst das?


x3 schrieb am 10.07.2003 um 09:25

also es is so i less aus einer file
und daun schreib i wo anders wos rein nur hoit mit boar ifs und so
des hast das i mehrere sochen hintereinaund eini schreib, und immer waun ma in a file wos neichs schreibt mochts a enter oiso \n automatisch


g0dsm4ck schrieb am 10.07.2003 um 09:28

und welchen befehl verwendest du zum schreiben ins file?


manalishi schrieb am 10.07.2003 um 09:30

wah, deine dialektposterei ist ja eine zumutung! mit backspace wirst du's nicht schaffen, glaub mir. schau lieber in deinen strings nach ob das EOL, das du hinausschreibst, da auch wirklich hingehoert.


x3 schrieb am 10.07.2003 um 09:32

Code:
do {
   fscanf(ablage, "%s\0", &zeichen);
   if(strcmp(help, zeichen) == FALSE||strcmp(help1, zeichen) == FALSE)
   {}
   else
   {
        fprintf(ziel, "net send %s ", zeichen);
        if(betref1==TRUE)
        {
             fprintf(ziel, "\b");
             for (i=0; i<80; i++)
             {
                  if(betreff[i]=='_')
                  {
                       break;
                  }
                  fprintf(ziel, "%c", betreff[i]);
             }
             fprintf(ziel, " ");
        }
        if(name==TRUE);
        {
             for (i=0; i<80; i++)
             {
                  if(nameeing[i]=='_')
                  {
                       break;
                  }
                  fprintf(ziel, "%c", nameeing[i]);
             }
             fprintf(ziel, "\n");
        }
}while(!feof(ablage));
so is aber a bisi gekuerz also was weggelassen


x3 schrieb am 10.07.2003 um 09:54

so schwer zu machen?


manalishi schrieb am 10.07.2003 um 09:57

Zitat von x3rox
so schwer zu machen?

sorry aber dein code ist junk. formatiere das mal richtig, so hat doch keiner lust das zu lesen.


x3 schrieb am 10.07.2003 um 10:05

sorry hat oc.at automatisch so gemacht ich versuch nochmal

Code:
.do
.{
.      fscanf(ablage, "%s\0", &zeichen);
.      if(strcmp(help, zeichen) == FALSE||strcmp(help1, zeichen) == FALSE){}
.      else
.      {
.            fprintf(ziel, "net send %s ", zeichen);
.            if(betref1==TRUE)
.            {
.                  fprintf(ziel, "\b");
.                  for (i=0; i<80; i++)
.                  {
.                        if(betreff[i]=='_')
.                        {
.                              break;
.                        }
.                        fprintf(ziel, "%c", betreff[i]);
.                   }
.                   fprintf(ziel, " ");
.            }
.            if(name==TRUE);
.            {
.                   for (i=0; i<80; i++)
.                   {
.                        if(nameeing[i]=='_')
.                        {
.                              break;
.                        }
.                        fprintf(ziel, "%c", nameeing[i]);
.                   }
.                   fprintf(ziel, "\n");
.            }
.     }
.}while(!feof(ablage));
das geht nicht kann mir wer sagen wie das geht
das die form bleibt
hab jetzt sogar schon punkte am anfang gemacht!!!


x3 schrieb am 10.07.2003 um 10:10

.do
.{
.......fscanf(ablage, "%s\0", &zeichen);
.......if(strcmp(help, zeichen) == FALSE||strcmp(help1, zeichen) == FALSE){}
.......else
.......{
.............fprintf(ziel, "net send %s ", zeichen);
.............if(betref1==TRUE)
.............{
...................fprintf(ziel, "\b");
...................for (i=0; i<80; i++)
...................{
.........................if(betreff[i]=='_')
.........................{
...............................break;
.........................}
.........................fprintf(ziel, "%c", betreff[i]);
....................}
....................fprintf(ziel, " ");
..............}
..............if(name==TRUE);
..............{
...................for (i=0; i<80; i++)
...................{
.........................if(nameeing[i]=='_')
.........................{
...............................break;
.........................}
.........................fprintf(ziel, "%c", nameeing[i]);
...................}
...................fprintf(ziel, "\n");
..............}
.......}
.}while(!feof(ablage));

a so gehts
i hoff ihr könnts es jetzt lesen


HowlingWolf schrieb am 10.07.2003 um 10:15

ich versteh nur nicht warum du eine do while schleife einbaust statt einer FOR-Schleife? So wird das ganze ja mindestens noch einmal nachträglich durchlaufen....


x3 schrieb am 10.07.2003 um 10:33

hmm jo weil ma while grod so in sinn kema is ;)

des is jo a wuarscht weils jo e auf des selbe ausa kimt
und funkt jetzt das mit backspace oder net?

achjo und das mit dem \b das funktioniert net.
keart des vielleicht wo aundas plaziert


g0dsm4ck schrieb am 10.07.2003 um 10:53

btw kleiner tip:
zum posten von programmcode vewendest du am besten

[CODE]
<programmcode hier einfügen>
[/CODE]

dann bleibt auch die formatierung erhalten


x3 schrieb am 10.07.2003 um 11:08

aa ok danke werd ich das nächste mal machen
oder soll ich nochmal neuposten ohne punkte :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025