Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти нужные слова и записать их в другой файл. 
:(
    Опции темы
Ajelika
Дата 16.12.2016, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.12.2016

Репутация: нет
Всего: нет



Выделить в текстовом файле все слова, разделенные символами-разделителями «_.,;:\n\t!?», и все слова, в которых присутствуют гласные латинские буквы, построчно записать в другой текстовый файл.
Нашел такие слова, но не знаю как записать в другой файл.
Код

#include <cstring>
#include <stdio.h>
#include <ctype.h>
#define DELIMITERS " .,:;?!\n\t"
#define GLAS "AaEeIiOoUuYy"
#define N 1024
int Count(char *s)
{
int i,flag=0;
for(i = 0; s[i] != '\0'; i++)
if (strchr(GLAS,s[i]))//нахожу слова в которых есть слова с гласной буквой
flag=1;
else flag=0;
return flag;
}
int ReadWords(char *fname,char *fname1)
{
FILE *f,*g;
char s[N], *word;
int i, j, flag[256] = {0};
if ((f = fopen(fname, "r")) == NULL)//открыл файл в котором есть слова 
return 1;
if ((g = fopen(fname, "w")) == NULL)//открыл другой файл в который буду записывать
return 1;
for (i = 0; DELIMITERS[i]; i++)
flag[DELIMITERS[i]] = 1;
while (fgets(s, N, f) != NULL)
{
for (i = 0; s[i] && flag[s[i]]; i++)
;
while (s[i])
{
word = s + i;
while (s[i] && !flag[s[i]])
i++;
j = i;
while (s[i] && flag[s[i]])
i++;
s[j] = '\0';
if (Count(word) == 1)//если в файле есть нужные слова то...
 
}
}
fclose(f);
fclose(g);
return 0;
}
int main( )
{
ReadWords("c:\\a.txt"); return 0;
}

PM MAIL   Вверх
victor79
Дата 18.12.2016, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



запись блока памяти в файл с указанием длины:
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
где ptr - указатель на записываемую память,
size - размер записываеммых данных,
count - количество блоков, указать равное 1
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0709 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.