The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > High Level Programming
.
google unix.com



High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
comment pouvez chercher une chaîne dans un fichier texte et remplacez la ligne entière dans un autre fichier kkraja UNIX pour les nuls Questions et réponses 6 08-06-2008 08:23 AM
Recherche d'une chaîne de texte et d'ajouter après la chaîne kesu2k De programmation et de script Shell 8 07-18-2008 08:35 PM
recherche de texte itik AIX 2 01-28-2008 07:01 PM
Perl: Recherche de chaîne de ligne, de recherche et remplacer du texte Crypto De programmation et de script Shell 4 01-04-2008 10:24 AM
chaîne à l'ajout de fichier de texte basé sur chaîne de recherche malaymaru De programmation et de script Shell 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-16-2009
Zykl0n-B Zykl0n-B is offline
Registered User
  
 

Date d'inscription: août 2008
Posts: 25
Recherche d'une chaîne de caractères dans un fichier texte en C

Bonjour,
J'ai besoin d'aide pour un logiciel que je codage en C.

Qu'est-ce que mon programme a à faire est de rechercher une chaîne dans un fichier texte, si elle trouve une correspondance, l'impression à la chaîne stdout.

Le fichier ressemble à:

000001 Californie
100000 Texas
011110 Ohio
010101 Washington

Ainsi, si le programme trouve une correspondance, des tirages "100000 Texas" sur la sortie standard.

Pourriez-vous m'aider?
S'il vous plaît excuser mon mauvais français.
  #2 (permalink)  
Old 04-16-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5805

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
Registered User
  
 

Date d'inscription: août 2008
Posts: 25
Thank You!, Merci l'homme, ... Merci ...

J'ai corrigé "fgets" et "si" les fonctions ...


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
Lieu: NM
Posts: 5805
J'ai manqué de frappe - deux fois.
  #5 (permalink)  
Old 04-17-2009
Zykl0n-B Zykl0n-B is offline
Registered User
  
 

Date d'inscription: août 2008
Posts: 25
Je sais
  #6 (permalink)  
Old 07-02-2009
c0d1f1ed c0d1f1ed is offline
Registered User
  
 

Date d'inscription: juillet 2009
Messages: 2
Est-ce que ce pas échouer si la chaîne de recherche traverse deux "tmp 'block?
  #7 (permalink)  
Old 07-02-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5805
Pas de recherche en ligne par ligne, fgets est une ligne à la fois. tmp [256] peut lire dans le plus grand nombre de 255 chars. Pas de ligne dans l'exemple de texte est plus long que 40. Pas de problème.

En guise de solution générale, l'utilisation tmp [LINE_MAX] où LINE_MAX est défini dans limits.h plupart des outils UNIX limite quelle que soit la taille de ligne est LINE_MAX pour votre système.
Reply

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 08:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0