[résolu]Problème avec scanf

Problème avec scanf [résolu] - PHP - Programmation

Marsh Posté le 24-06-2006 à 00:45:25    

Bonjour à vous,  
 
J'ai un petit problème avec scanf
 

Citation :


//le fichier contient : (par exemple)
un deux trois
quatre cinq six
 
$phrase  = fscanf($file,"%s\n" );


 
Ben $phrase ne contiendras que "un" alors que je souhaite récupérer "un deux trois" ...
 
Comment je dois faire, et quelle fonction dois-je utiliser ??  
 
Merci d'avance


Message édité par Malkavien le 24-06-2006 à 10:32:32
Reply

Marsh Posté le 24-06-2006 à 00:45:25   

Reply

Marsh Posté le 24-06-2006 à 01:16:02    

http://fr2.php.net/manual/fr/function.fgets.php
 
ou
 
list ($nbr1,$nb2,$nbr3) = fscanf ($file, "%s\t%s\t%s\n" ) par exemple !
'fin tout est dans la doc quand meme :s
http://fr2.php.net/manual/fr/function.fscanf.php


Message édité par afbilou le 24-06-2006 à 01:20:08
Reply

Marsh Posté le 24-06-2006 à 01:21:06    

J'ai oublié de préciser que j'ai déjà essayé fegts et autre fonction de lecture, mais ca marche pas ...  
 
 

Citation :

$phrase  = fgets($file,4096);


Résultat, j'ai que le premier caractère de chaque phrase...

Reply

Marsh Posté le 24-06-2006 à 01:27:02    

Bon, je réexplique depuis le début :  
 
J'ai un fichier de ce style :  

Citation :


// Monster Database
//
// Structure of Database :
// ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1[...]Drop9per,DropCardid,DropCardper
// Note: Keep the Sprite_Name field as it is (in the game client). You may change Name,JName field tough
 
1001,SCORPION,Scorpion,Scorpion,24,1109,0,287,176,1,80,135,30,0,1,24,24,5,52,5,10,12,0,4,23,149,200,1564,864,576,0,0,0,0,0,0,0,0,990,70,904,5500,757,57,943,210,7041,100,508,200,625,20,0,0,0,0,4068,1
1002,PORING,Poring,Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,131,400,1872,672,480,0,0,0,0,0,0,0,0,909,7000,1202,100,938,400,512,1000,713,1500,512,150,619,20,0,0,0,0,4001,1
1003,TESTEGG,Test Egg,Test Egg,2,100000,0,10,10,0,3,9,99,0,1,99,1,1,1,1,10,12,0,4,22,0,512,0,512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0


 
Ce que je veux faire c'est récupérer chaque partie séparé avec une virgule.  

Ce que j'ai fait :

 

Citation :

$file = fopen('test.php','r');
 while(!feof($file)){
  $phrase  = fgets($file,4096);
   //$phrase       = fascanf($file,"%s\n" );
  list ($a)    = $phrase;
  $phrase2  = sscanf($a, "%c" );
  list ($c1)    = $phrase2;
  if($c1 != '/') {
   echo $a."<br>";
   list ($ID,$Sprite_Name,$kROName,$iROName,$LV,$HP,$SP,$EXP,$JEXP,$Range1[...]$Drop9per,$DropCardid,$DropCardper) = explode(",",$a);
  }
 }              


 
Le seul problème est pour les ligne avec des espaces...


Message édité par Malkavien le 24-06-2006 à 01:30:02
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed