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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
#1

Редактирование текстового файла - C++

03.11.2012, 16:29. Просмотров 1728. Ответов 22
Метки нет (Все метки)

Все привет нужна помощь
Задание:Составить программу на языке С++, позволяющую отредактировать заданный с консоли текстовый файл: заменить в нем на заглавные буквы все первые буквы в словах
Вот , что есть на данный момент( не компилируется не знаю почему)
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
59
60
61
62
#include <conio.h>
#include <locale>
#include <iostream>
#include <string>
using namespace std;
 
int_tmain(int argc, _TCHAR* argv[])
 
{
setlocale(LC_ALL, "russian_russian");
 
FILE *f = fopen("1.txt", "rt");
FILE *p = fopen("2.txt", "w");
 
if (f==0)
{
 
perror("ошибка!");
exit(1);
 
}
 
int n=100;
char *x = new char [n];
char *z = new char [n];
 
 
int i=0;
 
while(fscanf(f, "%d", &z));
 
n=i-1;
 
i=0;
 
while (i<n) 
{
if( (islower(z[i])) && (z[i-1])== ' ' )
{
z[i]=toupper(z[i]);
}
x[i]=z[i];
i++;
}
 
 
i=0;
for(i=0;i<n;i++)
 
{
 
fprintf(p, "%c",x[i]);
 
}
 
getch();
fclose(f);
fclose(p);
 
return 0;
 
}
Помогите найти ошибки(почему не работает по заданию)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 16:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Редактирование текстового файла (C++):

Редактирование текстового файла - C++
Доброго времени суток. Подскажите, пожалуйста, как решить задачу: &quot;Написать функцию, которая удаляет лишние пробелы между словами и...

Добавить в конец первого текстового файла содержимое второго текстового файла - C++
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Сортировка слов текстового файла путём слияния данных из файла и заданного внутреннего массива - C++
Здравствуйте. Имеется задание, которое я ни в коем случае не прошу за меня сделать. Мне непонятно пару моментов, которые бы мне...

Указание текстового файла-источника и принимающего файла в cmd - C++
Подскажите, как сделать что б при вводе через cmd надо было указывать файл-исходник и принимающий файл? &quot;полный путь\fdsfsd.exe in.txt...

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

22
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 04:19 #16
Цитата Сообщение от Рустам-ВЛ Посмотреть сообщение
Если есть несколько строк , всё перемещается в 1 строку в текстовом файле
При записи из вектора в файл? Какой код используете?

Добавлено через 5 минут
Если код из 11 поста, то так сделайте:
C++
1
2
for(int i = 0; i < (int)vec.size(); i++) 
       write << vec[i] << endl;
1
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
05.11.2012, 06:56  [ТС] #17
при добавке
C++
1
2
for(int i = 0; i < (int)vec.size(); i++) 
       write << vec[i] << endl;
проблемка, когда в текстовом файле текст типа
dg dfg dfg
fgd
получается
Dg
Dfg
Dfg
Fgd
если в строке есть пробелы, то следующее слово переносится на следующую строчку
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 07:27 #18
Код покажите.

Добавлено через 9 минут
Чтобы правильно сделать, нужно точно знать сруктуру файла. От этого всё зависит. Есть ли предложения? Чем разделены? Сколько пробелов между словами? Одна строка или несколько? И т.д.
0
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
05.11.2012, 07:37  [ТС] #19
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
#include <iostream>
#include <fstream>
#include <ostream>
#include <string>
#include <vector>
#include <vcl.h>
#include <windows.h>
using namespace std;
 
int main ()
{
setlocale( LC_ALL,"Russian" );
 
    vector<string> vec;
    string path;
    string str;
 
    fstream read;
 
    while(!read.is_open())
    {
        cout << "To exit enter Q, Enter path: ";
        getline(cin,path);
        read.open(path.c_str());
 
        if(path == "Q")
            break;
 
        if(!read.is_open())
        cout << "File not found\n";
    }
 
    if(read.is_open())
    {
        while(!read.eof())
        {
        read >> str;
        str[0] = toupper(str[0]);
        vec.push_back(str);
        }
 
        read.close();
 
        ofstream write;
        write.open(path.c_str());
 
        for(int i = 0; i < (int)vec.size(); i++)
       write << vec[i] << endl;
 
 
        write.close();
    }
 
    system("PAUSE");
 
    return 0;
}
пробелов без разницы сколько (всё равно переносит) текстовые файлы небольшие для проверки буквально пару слов
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 07:58 #20
Пример текста в файле покажите.
0
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
05.11.2012, 08:12  [ТС] #21
текст
0
Вложения
Тип файла: txt 1.txt (102 байт, 5 просмотров)
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 08:58 #22
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
59
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <cctype>
using namespace std;
 
int main () 
{
  setlocale( LC_ALL,"Russian" );  
 
    fstream read;
    string path;
 
    while(!read.is_open())
    {
        cout << "To exit enter Q, Enter path: ";
        getline(cin,path);
        read.open(path.c_str());
 
        if(path == "Q")
            break;
 
        if(!read.is_open())
        cout << "File not found\n";
    }
 
    if(read.is_open())
    {
        vector<string> vstr;
        string str;
        char ch;
        
        while(true)
        {
            read.get(ch);
            if (read.eof()) break;
            str.push_back(ch);
            if (ch == ' ' || ch == '\n') 
            {
                str[0] = toupper(str[0]);
                vstr.push_back(str);
                str.clear();
            }
        }
        read.close();
 
        ofstream write;
        write.open(path);
 
        for (int i = 0; i < vstr.size(); i++)
             write << vstr[i];
 
        write.close();
    }
 
    system("pause");
    return 0;
}
1
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
05.11.2012, 09:09  [ТС] #23
Спасибо за помощь , работает все как надо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2012, 09:09
Привет! Вот еще темы с ответами:

редактирование файла - C++
Здравствуйте помогите пл3, как это покрасивее сделать, учитывая что человек не особо разбирается в программировании Скопировать...

Редактирование части файла - C++
Всем привет! Вопрос в следующем. Я сейчас пытаюсь изменить часть текстового файла. Начало изменяемой области помечено маркером...

Редактирование XML файла - C++
Здравствуйте, столкнулся с проблемой &quot;фильтрации&quot; xml файла. Задача по сути легкая, но есть одно НО : файл, в котором проводится...

Редактирование бинарного файла - C++
возможно ли написать такую функцию которая будет редактировать бинарный файл?


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

Или воспользуйтесь поиском по форуму:
23
Yandex
Объявления
05.11.2012, 09:09
Ответ Создать тему
Опции темы

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