delete-funktion i C|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
delete-funktion i C
oxiswoofer
Member
Medlem
Forum Posts: 2101
Member Since:
April 1, 2003
sp_UserOfflineSmall Offline
1
December 13, 2004 - 8:53 pm
sp_Permalink sp_Print

hålller på med ett mini projekt i C...ett tunnare version av linux editorn ED...har ett problem bara...
min delete funktion fungerar inte som den skall...den skall ta bort den rad markören befinner sig på för tillfället, men just nu tar funktionen bort all text i hela text filen..o jag et inte varför...

koden:

int delete( char text[], int cursor, int* nr_of_lines, int* success  )
{
int line_end,
line_start;
int i, j;
char temp[MAX_ROW*MAX_LINES] = "";

if( !is_empty(text) ){
get_line_n( text, cursor, &line_start, &line_end );
j=0;
for(i=0; line_start>i ; i++){
if(i==EOF){
break;
}
text[i] = temp[j];
j++;
}
for(i=line_end; i<(MAX_LINES*MAX_ROW); i++){
text[i] = temp[j];
j++;
}

temp[j] = '';
strcpy( text, temp );

/* Cant move cursor before first line */
if( cursor > 0 ){
cursor--;
}
(*nr_of_lines)--;
*success = TRUE;
}else{
*success = FALSE;
}
return cursor;
}

line_start och line_end är två pekare som pekar på början och slutet av den rad man befinner sig på, och det är mellan dessa pekar man skall ta bort tecken från....men som skrivet, just nu tar funktionen bort allt istället...nån som kan hjälpa mig?

Kronos
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 116
Member Since:
July 4, 2003
sp_UserOfflineSmall Offline
795636
December 13, 2004 - 10:15 pm
sp_Permalink sp_Print

Nu har jag bara skummat igenom koden så det här kan vara helt uppåt väggarna men som det ser ut så skapar du character arrayen temp och sätter den till "". Sen får den inget värde men du kopierar ändå temp[j] till text[i] vilket borde resultera i att text nollas.
Kan det vara så att get_line_n borde placera något i temp eller var är det meningen att temp ska få sitt värde?

nv98ling
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 139
Member Since:
November 14, 2003
sp_UserOfflineSmall Offline
795701
December 13, 2004 - 11:36 pm
sp_Permalink sp_Print

du har vänt text[i] = temp[j] åt fel håll, det ska stå temp[j] = text[i],
annars ser jag inga direkta fel.

oxiswoofer
Member
Medlem
Forum Posts: 2101
Member Since:
April 1, 2003
sp_UserOfflineSmall Offline
796193
December 14, 2004 - 7:10 pm
sp_Permalink sp_Print

hm..okej, skall testa det det du skrev nv98ling

kronos: temp skall juh få sitt värde från text, den skall kopieras dit, och den snutten jag vill ha bort skall inte kopieras med till temp

oxiswoofer
Member
Medlem
Forum Posts: 2101
Member Since:
April 1, 2003
sp_UserOfflineSmall Offline
796196
December 14, 2004 - 7:14 pm
sp_Permalink sp_Print

grymt, det var det som var felet, hade felvänt temp o text, tack nv98ling =)

nv98ling
Mina inlägg skrivs i binär kod
Medlem
Forum Posts: 139
Member Since:
November 14, 2003
sp_UserOfflineSmall Offline
796240
December 14, 2004 - 8:09 pm
sp_Permalink sp_Print

inga problem 😀

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 694
Currently Online:
Guest(s) 74
Currently Browsing this Page:
2 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL