[PHP] fscanf
hello if this is really a silly problem dont blame me, i'm a newbie in php (but i'm experienced in c++ a bit :-) well, imagine i want to write a content of some text file word by word. example will be more understandable than my english: let file.txt consists: lenin lives forever i want my php script to write to the screen: lenin lives forever I tried to manage this using fscanf function. i expected it works same as in c, but it looks it doesnt. consider the code: while (fscanf($file,"%s",$buffer)==1) { echo $buffer,""; } the result: lenin forever just like fscanf moved the file pointer to the next line after reading "lenin". i dont know whats up... why "lives" disappeared??? i know i can try using fgets and then split the string, but i want to know why fscanf doesnt work... :-) could anyone explain me this phenomena? best regards, jakub zytka -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] fscanf
01-03-13 05:00:01, "Yasuo Ohgaki" <[EMAIL PROTECTED]> wrote: >I think fscanf() is line oriented in C, isn't it? (I haven't used fscanf() for a >long time, I'm not 100% sure w/o reference.) no, i'm sure in c fscanf reads the next string available, not first string in next line >Your $buffer should only have "lenin". i agree. in first iteration buffer should contain "lenin", but in second the content should be "lives", not "forever", but is "forever" and i dont know why and i'm angry about it :-) >while (fscanf($file,"%s %s",$buf1,buf2)) >You should get "lives" in $buf2. i agree again, but i dont know how many stings do i have in one line. therefore i cant use fscanf($file,"n*%s",n*some_variables); besides it looks terrible... :-) regards, jakub zytka -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]