The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



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

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-16-2009
Zykl0n-B Zykl0n-B is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 25
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.
  #2 (permalink)  
Old 04-16-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.808

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;
}

  #3 (permalink)  
Old 04-16-2009
Zykl0n-B Zykl0n-B is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 25
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;
}

  #4 (permalink)  
Old 04-17-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.808
Ik mislukt typering - tweemaal.
  #5 (permalink)  
Old 04-17-2009
Zykl0n-B Zykl0n-B is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 25
Ik weet
  #6 (permalink)  
Old 07-02-2009
c0d1f1ed c0d1f1ed is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2009
Posten: 2
Is dit niet het mislukken als de zoekreeks kruisen twee 'tmp' blokkeren?
  #7 (permalink)  
Old 07-02-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.808
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.
Reply

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 07:13 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0