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

Замена елементов текста - C++

Восстановить пароль Регистрация
 
Nazz
WEB-developer
 Аватар для Nazz
895 / 726 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
10.05.2010, 13:10     Замена елементов текста #1
пишу програму на Borland C++ 3.01, и мне нужно считать информацию с файла, вывести её на екран.
Ето я зделал...
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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <fstream.h>
#include <dos.h>
#include <string.h>
 
class kartka
{
public:
  kartka();
};
 
 
kartka::kartka()
{
 
  int i,m,n;
  char a[1000];
  char *p;
  ifstream fin("2/1.txt");
  if (!fin) {cout<<"File not found!";}
  for (m=0;m<22;m++)
  {
  fin>>a;
  cout<<a<<"  ";
  }
  fin.close();
 
 
/*ofstream input("1/2.txt");
if (!input) {cout<<"File can not bo open!!!";} */
 
}
 
main()
{
clrscr();
kartka();
getch();
}
теперь, мне нужно заменить у файле вот такой рядок #N#, на данные которые введёт пользователь...
как мне зделат замену, а то нигде не могу найти про замену у с++ 3.01 (((

Добавлено через 16 часов 57 минут
может кто знет какую то функцию для borland c++ 3.01. Просто и в хелпе ничего не могу найти..(

Добавлено через 21 час 41 минуту
делаю вот так, но у меня почему-то не сравнивает слов((
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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <fstream.h>
#include <dos.h>
#include <string.h>
 
class kartka
{
public:
  kartka();
};
 
 
kartka::kartka()
{
 
  int i,m,n;
  char a[1000];
  char *p;
  ifstream fin("2/1.txt");
  if (!fin) {cout<<"File not found!";}
  for (m=0;m<22;m++)
  {
  fin>>a;
  if (a=="#N#") 
{
  cout<<"Nazz";
}
else
{
  cout<<a<<"  ";
}
  }
  fin.close();
 
 
/*ofstream input("1/2.txt");
if (!input) {cout<<"File can not bo open!!!";} */
 
}
 
main()
{
clrscr();
kartka();
getch();
}
подскажыте как сравнить строки??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2010, 13:10     Замена елементов текста
Посмотрите здесь:

C++ Поиск и замена текста в файле
C++ Замена текста
Замена елементов в матрице C++
Поиск и замена текста C++
C++ замена елементов одномерного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
10.05.2010, 21:38     Замена елементов текста #2
C
1
2
3
4
5
if ( strcmp( "апельсин", "бочка" ) != 0 ) {
    printf( "не совпадают\n" );
} else {
    printf( "чего-то фигня какая-то !\n" );
}
Nazz
WEB-developer
 Аватар для Nazz
895 / 726 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
10.05.2010, 22:47  [ТС]     Замена елементов текста #3
делаю так как Вы сказали, odip:
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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <fstream.h>
#include <dos.h>
#include <string.h>
 
class kartka
{
public:
  kartka();
};
 
 
kartka::kartka()
{
 
  int i,m,n;
  char a[1000];
  ifstream fin("2/1.txt");
  if (!fin) {cout<<"File not found!";}
  for (m=0;m<21;m++)
  {
  fin>>a;
  if (strcmp(a,"#N#")!=0)
    {
       cout<<"Ne sovpadajut \n";
    }
  else
    {
       cout<<"Sovpali! \n";
    }
  }
  fin.close();
 
 
/*ofstream input("1/2.txt");
if (!input) {cout<<"File can not bo open!!!";} */
 
}
 
main()
{
clrscr();
kartka();
getch();
}
файл у меня такой:

Vu vidktulu ankety stydenta #NAME# .
Dana anketa stvorena za dopomogoju spetsialnoi
programu, i pruznachena vukljuchno dlya vuklaachiv .
Vitaju #N#!

в результате я получаю, что всё не совпадает(( в чём может біть проблема?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.05.2010, 22:53     Замена елементов текста #4
Ну правильно, вы сравниваете a (строку, введённую пользователем) с #N#. Совпадение произойдёт только если вы введёте #N#.
Nazz
WEB-developer
 Аватар для Nazz
895 / 726 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
10.05.2010, 22:56  [ТС]     Замена елементов текста #5
вот при таком считывании:
C++
1
2
3
4
for (m=0;m<21;m++)
  {
  fin>>a;
  }
файл считывается по одному слове, по етому должны сравниватся отдельные слова с файла... но почему-то не работает(((
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.05.2010, 22:57     Замена елементов текста #6
Аа, чёрт, перепутал fin с cin))) Сорри
Nazz
WEB-developer
 Аватар для Nazz
895 / 726 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
11.05.2010, 11:29  [ТС]     Замена елементов текста #7
аестли у файл задю одно слово, то нормально работает...( как мне проще решыть такую проблему(((

Добавлено через 12 часов 31 минуту
ну что, никто не подскажет как мне боротся с етой проблемой??
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.05.2010, 18:49     Замена елементов текста #8
Вроде как последним прочитанным словом будет "#N#!", потому и несовпадение, нужно сравнивать без восклицательного знака.

Добавлено через 1 минуту
Ну или так
C++
1
2
3
4
if (strcmp(a,"#N#!")!=0)
    {
       cout<<"Ne sovpadajut \n";
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2010, 19:19     Замена елементов текста
Еще ссылки по теме:

шаблон функции который принимает в параметры массив количиство елементов и должен найти сумму елементов массив C++
Замена текста в файле C++

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

Или воспользуйтесь поиском по форуму:
Nazz
WEB-developer
 Аватар для Nazz
895 / 726 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
11.05.2010, 19:19  [ТС]     Замена елементов текста #9
спасибо)) заработало))
Yandex
Объявления
11.05.2010, 19:19     Замена елементов текста
Ответ Создать тему
Опции темы

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