Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2010, 21:46   #1
Александр74
 
Регистрация: 20.12.2009
Сообщений: 6
Восклицание Проблемы с функцией strlen в Си

Задание: удалить из файла все строки, длина которых превышает заданное количество символов.
Проблема: не знаю как задать конец одной строки и переход на следующую- в проге он у меня считает длину только самой первой строки до нулевого байта.
Подправьте пожалуйста код

Текст проги:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main()
{
char c;
int n=10;
char str[80]="C:\\string.txt";
FILE *fp,*fp2;
if((fp=fopen(str,"rt"))==NULL)
{
printf("File not open %s\n",str);
exit(1);
}
fp2=fopen("C:\\string2.txt","wt");
{
fgets(str,80,fp);
if(strlen(str)<=n)
fputs(str,fp2);
}
fclose(fp);
fclose(fp2);
getch();
printf("Resultat vipolneniya smotret' v faile string2.txt");
}

заранее благодарен)
Александр74 вне форума Ответить с цитированием
Старый 02.01.2010, 21:58   #2
Александр74
 
Регистрация: 20.12.2009
Сообщений: 6
По умолчанию

А и ещё прогу реализовал нестандартно : если длина строки не превышает заданное кол-во символов то в другой файл копируем-противное в обратном
Александр74 вне форума Ответить с цитированием
Старый 02.01.2010, 23:11   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Читайте правила и не занимайтесь кросспостингом.
Ответил в вашей другой теме: http://programmersforum.ru/showthread.php?t=79071
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.01.2010, 13:06   #4
Александр74
 
Регистрация: 20.12.2009
Сообщений: 6
По умолчанию

сожалею но мою другую тему закрыли(
Александр74 вне форума Ответить с цитированием
Старый 03.01.2010, 18:58   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Это не повод создавать еще одну такую же. Вам мало этой?
Добавьте
Код:
while(!feof(fp))
перед
Код:
{
fgets(str,80,fp);
if(strlen(str)<=n)
fputs(str,fp2);
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с функцией gets (С) spirit_trapper Помощь студентам 2 19.12.2009 01:25
Проблемы с функцией и DLL Gott Помощь студентам 4 13.12.2009 20:21
Проблемы с функцией СЦЕПИТЬ motorway Microsoft Office Excel 20 12.07.2009 01:17
Проблемы с функцией mail() Linel PHP 4 24.06.2009 14:16
проблемы с функцией StretchDIBits unnamed Win Api 2 16.08.2007 12:42