Проблема с fgets()

UNREALre

Новичок
Проблема с fgets()

Здравствуйте, уважаемые господа!
У меня появилась маленькая проблема, заключающаяся в следующем. Я создаю файл *.txt. В него записываю некоторые данные, по одному слову в каждой строке, через Enter... Всё нормально. Затем, когда я начинаю считывать данные оттуда построчно, с помощью $str=fgets($fout), он записывает слово в str, НО! Он записывает туда в конец 2 каких-то непонятных символа, которые видны, когда даёшь команду strlen(str). То есть, у меня там слово, например, из 4 символов, он пишет 6.

Поэтому, при сравнении с переменной, которую я передаю на обработку через форму, и считанной файловой строки, он пишет, что они не равны, даже, если они ровны- всё из-за этих двух добавленных символов.

Вопрос - как можно удалить их из строки? Что это вообще за символы? Как можно считать как-то по другому, чтобы он считывал столько символов, сколько написано, не добавляя туда ничего своего.

Заранее - большое спасибо!
 

alpine

Новичок
1) rtrim()
2) "\n" (ASCII 10 (0x0A)), символ перевода строки.
"\r" (ASCII 13 (0x0D)), символ возврата каретки.
 

UNREALre

Новичок
Конечно, спасибо большое!
Я, наверное, ламер ещё большой :) но в моих руках - эта функция мне не помогает.
Не подскажите, как её правильно использовать?..
 

empty

Guest
UNREALre
при считывании делаешь rtrim()
while($str = rtrim(fgets($fout))){..
 

alpine

Новичок
UNREALre
По приведенной мной ссылке есть наглядный пример применения функции!
Одако ты судя по всему туда даже не пошел и видимо за следующей функцией и примером ты тоже сюда прийдешь.

PS Эх..., Фанат! Как я тебя иногда понимаю ...
 
Сверху