Форум программистов, компьютерный форум CyberForum.ru

Строки в файлах - C++

Восстановить пароль Регистрация
 
DoSh
2 / 2 / 0
Регистрация: 21.12.2009
Сообщений: 28
07.06.2010, 18:38     Строки в файлах #1
Здравствуйте.
Такой вопрос. Как мне из файла считывать каждую 3 строку, преобразовывать ее в тип int и запоминать. Заранее известно, что в каждой 3 строке находится число.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2010, 18:38     Строки в файлах
Посмотрите здесь:

C++ Написать программу, выводящую на экран строки, которые одновременно содержатся в двух заданных текстовых файлах
строки, которые одновременно содержатся в двух заданных текстовых файлах C++
C++ Вопрос по файлах в С++
C++ Мусор в файлах
C++ Строки в файлах (вывести из каждой строки последнее слово)
C++ Как сортировать строки в файлах
Строки в консоли и файлах(потоках).Зацикливание C++
C++ Реверс в файлах

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
07.06.2010, 18:43     Строки в файлах #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
...
char buf[SOME_SIZE];
int val, cnt;
FILE *f;
/*открыть файл, проверить, что открылся */
cnt = 0;
while ( fgets(buf, SOME_SIZE, f) ){
  if ( ++cnt == 3 ){
    val = atoi(buf);
    /* как-то использовать val - например в массив вставить */
    cnt = 0;
  }
}
DoSh
2 / 2 / 0
Регистрация: 21.12.2009
Сообщений: 28
08.06.2010, 15:43  [ТС]     Строки в файлах #3
Возник еще один вопрос. Я написал функцию
По идее она должна искать строку sear в файле и первую после этой строки строку запоминать и превращать в число. Затем проделываются вычислительные действия и int nov преобразуется в строку novst. Строка novst должна записаться на место строки, которая первой была преобразована в число. Прошу помощи.

Добавлено через 1 час 53 минуты
Строка l задается в основной программе

Добавлено через 1 час 8 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
void sale(char *namefile,char *sear,char *l)
{
char str[20]; 
int n; 
FILE *f; 
int r; 
int i=0; 
char k[20]; 
int t; 
int m; 
int nov;
f = fopen(namefile, "rt");
if (f == 0) 
 {
  perror("Ne mogy otkrit file");
  return; 
 }
int dln=strlen(sear);      //измерение длины строки sear
while (!feof(f))
  {
   fgets(str,20,f);
   n=strncmpi(str,sear,dln);     //сравнение строки из файла str и строки sear без учета регистра
   if (n==0)      //если равны
   { 
    if(!feof(f))
    fgets(k,20,f);     //то считываем еще одну строку
   } 
  }
t=atoi(k);     //переводим строку k в число
m=atoi(l);     //переводим строку l в число
nov=t-m;     //выполняем вычитание
char *novst=new char[20];    //выделяем память под новую строку
novst=itoa(nov,novst,10);    //переводим число nov в строку novst
rewind(f);    //перемещаем указатель к началу файла
r=strncmpi(str,sear,dln);     //сравнение строки из файла str и строки sear без учета регистра
if(r==0)
    {
     if(!feof(f))
     fgets(k,20,f);     //считываем еще строку
     fputs(novst,f);     //вставляем новую строку в файл
    }
fclose(f);
return;
}
Yandex
Объявления
08.06.2010, 15:43     Строки в файлах
Ответ Создать тему
Опции темы

Текущее время: 13:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru