![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| hoe kan zoeken in een string in een tekstbestand en vervang de gehele lijn in een ander bestand | kkraja | UNIX voor Dummies Questions & Answers | 6 | 08-06-2008 08:23 |
| Zoek een string en tekst na de string | kesu2k | Programmeren en Shell Scripting | 8 | 07-18-2008 08:35 PM |
| zoektekst string | itik | AIX | 2 | 01-28-2008 07:01 PM |
| Perl: Zoek een string op de lijn vervolgens zoek en vervang tekst | Crypto | Programmeren en Shell Scripting | 4 | 01-04-2008 10:24 |
| voeg string naar tekstbestand gebaseerd op zoekreeks | malaymaru | Programmeren en Shell Scripting | 1 | 06-09-2006 09:53 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Zoek een string in een tekst bestand in C
Hallo,
Ik heb hulp nodig met een programma I'm codering in C. Wat mijn programma te doen is te zoeken in een string in een tekst bestand, indien hij vaststelt een match, print de string naar stdout. Het bestand ziet er zo uit: 000.001 Californië 100.000 Texas 011110 Ohio 010.101 Washington Dus, als het programma vindt een match, prenten "100000 Texas" naar stdout. Kunt u mij helpen? Gelieve excuus mijn slechte Engels. |
|
||||
|
Code:
/* srch.c usage: srch filename "string to find"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
FILE *fp=fopen(argv[1],"r");
char tmp[256]={0x0};
while(fp!=NULL && fget(tmp, sizeof(tmp), fp)!=NULL)
{
if (strstr(tmp, argv[2])
printf("%s", tmp);
}
if(fp!=NULL) fclose(fp);
return 0;
}
|
|
||||
|
Dank U!, Bedankt man, ... Dank u wel ... Ik gecorrigeerd 'fgets' en' indien 'functies ... Code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
FILE *fp=fopen(argv[1],"r");
char tmp[256]={0x0};
while(fp!=NULL && fgets(tmp, sizeof(tmp),fp)!=NULL)
{
if (strstr(tmp, argv[2]))
printf("%s", tmp);
}
if(fp!=NULL) fclose(fp);
return 0;
}
|
|
||||
|
Het zoeken is geen regel voor regel, fgets krijgt een regel tegelijk. tmp [256] kan lezen in maar liefst 255 tekens. Geen lijn in het voorbeeld tekst langer is dan 40. Geen probleem.
Als een algemene oplossing, gebruik tmp [LINE_MAX] waar LINE_MAX is gedefinieerd in limits.h meeste UNIX tools maximum grootte lijn met wat LINE_MAX is voor uw systeem. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|