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

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

Войти
Регистрация
Восстановить пароль
 
Mischanja
Всегда не хватает времени
118 / 118 / 7
Регистрация: 15.10.2009
Сообщений: 493
#1

Копирование строк с файла - C++

05.07.2011, 19:32. Просмотров 1141. Ответов 2
Метки нет (Все метки)

Есть прога которая находит наименьшее слово в файле(находит).

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
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iomanip>
#include <conio.h>
 
int main() {
        std::ifstream in("f1.txt");       
        if (!in) {                       
                std::cout << "Failure to open input file" << std::endl;
                return 1;
        }
 
        std::ofstream out("f2.txt");    
        if (!out) {                      
                std::cout << "Failure to open output file" << std::endl;
                return 1;
        }
 
        std::string str;
        std::stringstream sstr;
        size_t cnt;
        while (!in.eof()) {
                                std::getline(in, str);
                                sstr.str(str);
        }
 
        in.close();
        in.clear();
        out.close();
        out.clear();
 
        in.open("f1.txt");
        if (!in) {
                std::cout << "Failure to open input file" << std::endl;
                return 1;
        }
 
        std::string short;
        short=str;
        while (in >> str) {
                if (str.length() < short.length()) {
                        short = str;
 
                }
        }
 
        std::cout << "Short word in output file is " << longest << std::endl;
 
        getch();
        return 0;
}
подскажите пожалуйста как теперь из ф1 в ф2 скопировать строки все кроме той где есть это самое короткое слово а номер этой строки напечатать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2011, 19:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Копирование строк с файла (C++):

Используя функцию копирования строк, организуйте конкатенацію и копирование строк в четвертый массив, содержащий полные имена - C++
Пожалуйста с этим заданием. Написать программу, которая описывает четыре массива. Три первых массива должны содержать имена, фамилии и...

копирование строк - C++
ребят, не подкажете как скопировать строку из искомой, начиная с символа а и заканчивая символом б? #include &quot;stdafx.h&quot; #include...

копирование строк - C++
Скопировать из файла F1 в файл F2 все строки, кроме той строки, в которой больше всего гласных букв. Ну или просто скопировать строку...

Копирование строк - C++
У Страуструпа приведен такой пример для копирования одной строки в другую: void cpy (char* p, const char* q) { while...

Копирование строк - C++
Всем доброго времени суток. У меня такой вопрос как можно копировать строка в строку не с заменой, а с добавлением в строку. например...

Копирование строк - C++
Нужно сравнить две строки не учитывая пробелы. Ошибка где-то в копировании a1 в с1 #define _CRT_SECURE_NO_WARNINGS #include...

2
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
05.07.2011, 20:00 #2
Вот, изменил ваш код:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iomanip>
#include <conio.h>
 
int main() {
                std::ifstream in("f1.txt");       
                if (!in) {                       
                                std::cout << "Failure to open input file" << std::endl;
                                return 1;
                }
 
                std::ofstream out("f2.txt");    
                if (!out) {                      
                                std::cout << "Failure to open output file" << std::endl;
                                return 1;
                }
 
                std::string str;
                std::string shortest_word;
                size_t cnt = 0;
                bool done = false;
 
                in >> shortest_word; // читаем первое слово, что бы было с чем сравнивать
                while (in >> str) {
                                if (str.length() < shortest_word.length()) {
                                                shortest_word = str;
 
                                }
                }
 
                std::cout << "Shortest word in input file is " << shortest_word << std::endl;
 
                                in.clear();
                                in.seekg(std::ios::beg);
 
                                while (! in.eof()) {
                                        std::getline(in, str);
                                        ++cnt;
                                        if (str.find(shortest_word) != std::string::npos && (! done)) {
                                                std::cout << "Number of line with the shortest word: " << cnt
                                                              << std::endl;
                                                done = true;
                                        }
                                        else
                                                out << str << std::endl;
                                }               
 
                in.close();
                out.close();
                getch();
                return 0;
}
1
Mischanja
Всегда не хватает времени
118 / 118 / 7
Регистрация: 15.10.2009
Сообщений: 493
05.07.2011, 20:08  [ТС] #3
Спасибо огромное.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2011, 20:08
Привет! Вот еще темы с ответами:

Копирование строк - C++
И опять столкнулся с проблемой. Описываю функцию, которая копирует k символов из строки str в строку s. Вот мой код: void...

Копирование строк - C++
Добрый вечер. Столкнулся с Проблемой: надо скопировать содержимое &quot;buff&quot; в &quot;hashes.pointname&quot; . Попробовал strcpy - компилируется без...

копирование строк - C++
Как на языке Си скопировать из строки s1 в строку s2 n символов с k-ой позиции?

Копирование Строк - C++
В общем, я продолжаю разборки с С(++) и у меня снова вопрос, ответ на который ув. тов. Google не дал. Гад! Задача: даны три строки,...


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

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

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