Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для deviance

Пользователь


Сообщения: 123
Благодарности: 43

Профиль | Отправить PM | Цитировать


Цитата alfaw:
Код: Выделить весь код
while(j=!2) { if(s[i]=='|') {j++; i++;} s[i+1]='\0'; fputc(s[i],nf); } fputs(s,nf);
»
На первый взгляд, проблема в выполнении fputc(), а затем еще и fputs().
Вы идете по строке до тех пор, пока не найдете вторую вертикальную черту (попутно помещая символы в файл). Находите вторую вертикальную черту, ставите завершающий нуль.. И пихаете "обрезанную" строку в файл, хотя она там уже есть (накопилась из единичных символов, пока Вы вертикальные черточки искали).

Вообще говоря, задача звучит типично. И типичным решением будет использование awk:
Код: Выделить весь код
awk 'BEGIN {FS="|"}; {print $1, $2}' student.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:40, 07-07-2013 | #2