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

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

Войти
Регистрация
Восстановить пароль
 
Almaz_KG
6 / 6 / 0
Регистрация: 15.05.2012
Сообщений: 105
#1

Строки на С++ - C++

17.05.2012, 02:04. Просмотров 263. Ответов 3
Метки нет (Все метки)

Мне надо перекопировать все символы с одного текстового файла в другой
В общем проблема такая:
в результирующем тексте(result.txt) вместо латиницы выводится абракадабра. В чем ошибка??
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
 
void main ()
{
    setlocale(LC_ALL, "rus");
 
    char locale[255];
    printf("Введите имя файла: ");
    gets(locale);
 
    FILE *text=fopen(locale,"r"); 
    if (text!=NULL) 
    {       
        FILE * result=fopen("result.txt","w");
        if(result != NULL)
        {
            int ch;
            while (!feof(text))
            {
                ch = getc(text);                      
                
                putc(ch,result);     
 
                fprintf(result,"%s",text);
            }
            fclose(text);
            fclose (result);
            printf("Файл записан");
            
        }
        else
            printf("Не удалось записать файл");
    }
    else printf("Файл с таким именем не найден!");
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 02:04     Строки на С++
Посмотрите здесь:

Ввести строки и через n символов первой строки вставить вторую строку, и так до конца строки - C++ Builder
Помогите исправить баг задача состоит в следующем :ввести строку и простроку тоесть две строки и надо через (n) символов первой строки...

Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки - Java
Помогите пожалуйста! 1)Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки. 2)Дана...

Слить две строки, вставив символы одной строки между символами другой строки - Pascal
Строка a из n символов лексикографически меньше строки b из n символов, если существует такой индекс j, что aj &lt; bj, а для всех i &lt; j ai =...

Сравнить строки, первый несовпадающий элемент строки-приемника записать в регистр AL, строки-источника - в DL - Assembler
Помогите написать программу на ассемблерене совсем еще разобрался с этим задание: Ввести с клавиатуры две строки одноразрядных...

Определить длину строки. Если длина строки >6, удалить часть строки в { } скобках. - Turbo Pascal
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши &quot;Ввод&quot;. Программа должна определить длину введенной...

Строки. Если в конце строки точка отсутствует, то найти слово, заканчивающееся точкой и перенести его в конец строки. - Pascal
Дана строка, состоящая из слов и содержащая одну точку в конце одного из слов. Если в конце строки точка отсутствует, то найти слово,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
17.05.2012, 02:08     Строки на С++ #2
Походу ты записываешь в бинарном виде.
Almaz_KG
6 / 6 / 0
Регистрация: 15.05.2012
Сообщений: 105
17.05.2012, 02:14  [ТС]     Строки на С++ #3
Все решил - тупанул)))

Добавлено через 4 минуты
Andrey.K, все теперь правильно,но в конце появляется лишняя буква
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
#include <iostream>
 
void main ()
{
    setlocale(LC_ALL, "rus");
 
    char locale[255];
    printf("Введите имя файла: ");
    gets(locale);
 
    FILE *text=fopen(locale,"r"); 
    if (text!=NULL) 
    {       
        FILE * result=fopen("result.txt","w");
        if(result != NULL)
        {
            int ch;
            while (!feof(text))
            {
                ch = getc(text);                      
                putc(ch,result);     
            }
            printf("Файл записан.");
            
        }
        else
            printf("Не удалось записать файл");
    }
    else printf("Файл с таким именем не найден!");
    getch();
}
В чем проблема не знаешь??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2012, 02:46     Строки на С++
Еще ссылки по теме:

Строки. Определить длину введенной строки, если длина кратна 4, то первая часть строки меняется местами со второй - Turbo Pascal
Ввести с клавиатуры строку символов.признак окончания ввода строки-нажатие клавиши ввод.Программа должна определить длину введенной строки...

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Строки. Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1 - Turbo Pascal
Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1.В строке S подсчитать кол-во вхождений строки S1.

БД с операциями: добавление новой строки, удаление строки, редактирование имеющейся строки - PascalABC.NET
Нужно создать базу данных в паскале, с операциями: добавление новой строки, удаление строки, редактирование имеющей строки. Желательно с...


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

Или воспользуйтесь поиском по форуму:
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
17.05.2012, 02:46     Строки на С++ #4
Вот почитай http://cpp.com.ru/shildt_spr_po_c/13/putc.html
Попробуй просто обрезать последний символ.

Добавлено через 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
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    string FileName,line="",ch;
    cout<<"Введите имя файла: ";cin>>FileName;
    ifstream F(FileName);
    while (! F.eof())
    {
        F>>ch;
        line+=ch;
    }
    F.close();
    ofstream P("result.txt");
    for(int i=0;i<line.length();i++)
    {
        P<<line[i];
    }
    P.close();
    cout<<"Готово.";
    getch();
    return 0;
}
Yandex
Объявления
17.05.2012, 02:46     Строки на С++
Ответ Создать тему
Опции темы

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