The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Højtstående Programmering
.
google unix.com



Højtstående Programmering Post spørgsmål om C, C + +, Java, SQL, og andre programmerings sprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
hvordan kan søge efter en snor i en tekstfil og erstatte hele linjen i en anden fil kkraja UNIX for dummyer Spørgsmål & svar 6 08-06-2008 08:23 AM
Søg en streng og tilføje tekst efter strengen kesu2k Shell Programmering og Scripting 8 07-18-2008 08:35 PM
søgetekst string itik AIX 2 01-28-2008 07:01 PM
Perl: Søg efter strengen på linje, så søg og erstat tekst Crypto Shell Programmering og Scripting 4 01-04-2008 10:24 AM
tilføjer strengen til tekstfil baseret på søgestreng malaymaru Shell Programmering og Scripting 1 06-09-2006 09:53 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 04-16-2009
Zykl0n-B Zykl0n-B is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 25
Søg en snor i en tekstfil i C

Hej,
Jeg har brug for hjælp med et program I'm kodning i C.

Hvad mit program er at gøre, er at søge efter en snor i en tekstfil, hvis den finder en match, udskrive strengen til Stdout.

Filen udseende:

000.001 Californien
100.000 Texas
011.110 Ohio
010.101 Washington

Så hvis programmet finder en match, tryk "100000 Texas" til Stdout.

Kan du hjælpe mig?
Undskyld mit dårlige engelsk.
  #2 (permalink)  
Old 04-16-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.800

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
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 25
Thank You!, Tak mand, ... Tak ...

Jeg korrigeret 'fgets' og' hvis' funktioner ...


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
Beliggenhed: NM
Indlæg: 5.800
Jeg undlod at skrive - to gange.
  #5 (permalink)  
Old 04-17-2009
Zykl0n-B Zykl0n-B is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 25
Jeg ved
  #6 (permalink)  
Old 07-02-2009
c0d1f1ed c0d1f1ed is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Stillinger: 2
Ikke dette mislykkes, når søgestrengen krydser to 'tmp' blok?
  #7 (permalink)  
Old 07-02-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.800
Nr. søgningen er linje for linje, fgets får én linje ad gangen. tmp [256] kan læse i så mange som 255 tegn. Nr. linje i eksemplet teksten er længere end 40. Ingen problem.

Som en generel løsning, så brug tmp [LINE_MAX] hvor LINE_MAX er defineret i limits.h De fleste UNIX-værktøjer grænse linje størrelse at uanset LINE_MAX er for dit system.
Reply

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 01:55 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0