Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ensoleille
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 34
#1

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

11.07.2011, 19:04. Просмотров 639. Ответов 9
Метки нет (Все метки)

Дан строковый файл, содержащий даты в формате «день/месяц/год», причем под день и месяц отводится по две позиции, а под год — четыре (например, «16/04/2001»). Создать новый строковый файл, содержащий все зимние даты из исходного файла (в обратном порядке). Если даты с требуемым временем года в файле отсутствуют, то оставить результирующий файл пустым.

как выделить эти позиции под день\месяц\год?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2011, 19:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строковый файл (C++):

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке). - C++
Даны имена двух файлов вещественных чисел. Известно, что первый из них существует и является непустым, а второй в текущем каталоге...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла - C++
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся этой буквой - C++
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

Дан строковый файл, содержащий даты в формате - C++
Дан строковый файл, содержащий даты в формате, описанном в зада- нии File67. Создать новый строковый файл, в котором даты из исходного ...

Создать строковый файл, элементы которого имеют вид «<буква>–<число ее появлений> - C++
Дан текстовый файл. Подсчитать число появлений в нем каждой строчной (то есть маленькой) русской буквы и создать строковый файл, ...

Строковый массив (объявить пустой глобальный строковый массив из 16 элементов) - C++
Подскажите, как объявить пустой глобальный строковый массив из 16 элементов? в качестве элементов будут указаны пути к графическим...

9
insolent
826 / 344 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
11.07.2011, 19:26 #2
ensoleille, примерно вот как можешь разбить строку на лексемы:
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <iterator>
 
using namespace  std;
 
void Tokenize(const string& str,
                          vector<string>& tokens,
                          const string& delimiters = " ")
{
        string::size_type lastPos = str.find_first_not_of(delimiters, 0);
        string::size_type pos     = str.find_first_of(delimiters, lastPos);
 
        while (string::npos != pos || string::npos != lastPos)
        {
                tokens.push_back(str.substr(lastPos, pos - lastPos));
                lastPos = str.find_first_not_of(delimiters, pos);
                pos = str.find_first_of(delimiters, lastPos);
        }
}
 
bool myfn(string i, string j) { return i.size()<j.size(); }
 
int main(int argc, char* argv[])
{
        string str = "16/04/2001";;
 
        vector<string> tokens;
        vector<string>::iterator it;
 
        ostream_iterator<string> cit(cout, "\n");
 
        Tokenize(str, tokens, " /");
 
        cout << "str: " << str << endl;
        cout << "\nstr has " << tokens.size() << " word." << endl;
 
        cout << "\nstr' word:" << endl;
        copy(tokens.begin(), tokens.end(), cit);
 
        return 0;
}
0
ensoleille
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 34
11.07.2011, 19:28  [ТС] #3
а можно поподробней,и желательно в просто си?)
0
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
11.07.2011, 19:32 #4
Цитата Сообщение от ensoleille Посмотреть сообщение
а можно поподробней,и желательно в просто си?)
C
1
strtok
вам в помощь..)

Добавлено через 3 минуты
C
1
for (char* p = strtok(str, "/"); p != NULL; p = strtok(NULL, "/"))
Разбиваете таким образом на лексемы и обрабатываете их так как вам нужно..
1
ensoleille
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 34
11.07.2011, 20:12  [ТС] #5
так,это поняла. а чем строковый файл отличается от файлов вообще?
0
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
11.07.2011, 20:23 #6
Цитата Сообщение от ensoleille Посмотреть сообщение
строковый файл
Наверное имелось в виду текстовый файл.
0
ensoleille
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 34
11.07.2011, 20:24  [ТС] #7
ага.тоесть я могу изначально внести в него даты и считывать их?
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.07.2011, 20:26 #8
Цитата Сообщение от ensoleille Посмотреть сообщение
ага.тоесть я могу изначально внести в него даты и считывать их?
разве это не ясно из задания:
Цитата Сообщение от ensoleille Посмотреть сообщение
Дан строковый файл, содержащий даты в формате «день/месяц/год»
0
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
11.07.2011, 20:27 #9
Цитата Сообщение от ensoleille Посмотреть сообщение
ага.тоесть я могу изначально внести в него даты и считывать их?
Ну можете.
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
11.07.2011, 22:01 #10
C
1
2
int y,m,d;
fscanf(file,"%d/%d/%d",&d,&m,&y);
не?

или
fgets() и sscanf()
0
11.07.2011, 22:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2011, 22:01
Привет! Вот еще темы с ответами:

Строковый алгоритм - C++
Помогите, пожалуйста, найти алгоритм (само решение писать не надо). Задача такова: Дан текст и список правил замены. Каждое правило...

Строковый литерал - C++
Вопрос к профи: Верно ли что, когда мы инициализирум строку вот так: const char *str = &quot;Строка&quot;, то компилятор понимает ее так: 1) char...

Строковый анализатор - C++
Подскажите почему код выдает всякий мусор, подает звуковые сигналы Должен работать так: Если введешь так: &quot;11/23/34&quot; или &quot;11.23.34&quot;...

Строковый класс - C++
Ребят, помогите решить пожалуйста... Написать программу для работы с строковым классом. В классе предусмотреть все основные операции...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru