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

Как заменить определенный символ на номера попорядку? - C++

Восстановить пароль Регистрация
 
antoha487
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 9
04.07.2012, 22:18     Как заменить определенный символ на номера попорядку? #1
Извините ели не туда написал. Есть документ в нем 9000 адресов с символом n. Как этот сделать так, чтобы символы поменялись на номера по порядку, например 1,2,3, или вставились буквы a, b, c.
Спасибо!
Миниатюры
Как заменить определенный символ на номера попорядку?  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 22:18     Как заменить определенный символ на номера попорядку?
Посмотрите здесь:

Как заменить русские символы на их номера в алфавите? C++
C++ как заменить символ?
Сформировать список символов, оканчивающийся точкой. Заменить в списке символ “A” на символ “0” C++
Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся C++
C++ как прервать поток ввода, введя определенный символ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rlib
20 / 20 / 1
Регистрация: 01.05.2012
Сообщений: 60
04.07.2012, 23:52     Как заменить определенный символ на номера попорядку? #2
PHP
1
2
3
4
5
6
7
8
9
<?php
$a[0] = "http://n.site.ru";
$a[1] = "http://n.site.ru";
$a[2] = "http://n.site.ru";
for ($i=0; $i<count($a); $i++) {
  $a[$i][7] = $i+1;
}
print_r($a);
?>
Для файла, прочитать весь фаил в $а постредством
PHP
1
file()
.
antoha487
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 9
05.07.2012, 00:32  [ТС]     Как заменить определенный символ на номера попорядку? #3
Все получилось. Сначала в экселе в любом столбце, у меня это столбец I прописал в строке I1 поставил 1, в строке I2 поставил цифру 2, протянул за плюсик до 9000 и получились цифры в столбце от 1 до 9000. В строке А1 написал формулу =СЦЕПИТЬ("мои данные";$I1;"мои данные"), далее протянул эту строку с формулой и вышло что 9000 ссылок с разными цифрами в середине.

Добавлено через 1 минуту
Цитата Сообщение от rlib Посмотреть сообщение

Для файла, прочитать весь фаил в $а постредством
PHP
1
file()
.
Спасибо, но я не понимаю.
Thirteen
 Аватар для Thirteen
32 / 32 / 4
Регистрация: 04.07.2012
Сообщений: 50
05.07.2012, 00:33     Как заменить определенный символ на номера попорядку? #4
Быдлокод получился:
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
#include <iostream>
#include <fstream>
#define ANSI 97 //Эта константа - код буквы 'a' в анси.
#define ERROR_OPENING 1
#define STRINGS_NUMBER 9000
 
using namespace std;
 
int main () {
 
    //Открываем файл для чтения и записи.
    fstream InOutFile("doc.txt", fstream::in | fstream::out);
    //Проверяем на NULL
    if(InOutFile == NULL)
    {
        cout << "Impossible to open file" << endl;
        return ERROR_OPENING;
    }
    //Указатель на строку
    char * string;
    //Переменная для проверки на конец файла
    char EndOfFile;
    for(int i = 0; i < STRINGS_NUMBER; i++)
    {
        //Буквы от a до z. Всего букв 26, так что если
        //итерация 27, то это снова a.
        int letter = i%26;
        //n в файле на седьмой позиции, так что переводим курсор туда.
        InOutFile.seekg(7, ios::cur);
        //Вставляем текущую букву.
        InOutFile.put(ANSI+letter);
        //Это написано, чтобы дочитать до конца строки.
        InOutFile >> string;
        //Возьмём текущий символ. Если EOF прерываем,
        //если любой другой, продолжаем.
        EndOfFile = InOutFile.get();
        if(EndOfFile == EOF)
        {
            cout << "End of file" << endl;
            break;
        }
    }
    InOutFile.close();
    return 0;
}
Забиваем n буквами от a до z, если дошли до z, то снова пишем туда a.
Если нужно использовать цифры от 1 до 9000, то адреса должны иметь вид "http://nnnn.site.ru"
Иначе put будет писать что-то вроде "http://100ite.ru"
А вообще здесь лучше использовать файл произвольного доступа.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
05.07.2012, 02:14     Как заменить определенный символ на номера попорядку? #5
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
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
 
 
int main(int argc, char * argv[]) {
   if (argc != 3) {
      std::cerr << "usage: " << argv[0] << " <old> <new>" << std::endl;
      return EXIT_FALURE;
   }
 
   std::ifstream ifs(argv[1]);
   if (!ifs) {
      std::cerr << "failed to open '" << argv[1] << "'" << std::endl;
      return EXIT_FAILURE;
   }
   std::ofstream ofs(argv[2]);
   if (!ofs) {
      std::cerr << "failed to open '" << argv[2] << "'" << std::endl;
      return EXIT_FAILURE;
   }
 
   std::istream & is = /* std::cin */ ifs;
   std::ostream & os = /* std::cout */ ofs;
 
   std::string::size_type const nPosition = 7;
   std::string::size_type const nSize = 1;
 
   std::string line;
   for (std::size_t i = 1; std::getline(is, line); ++i) {
      std::ostringstream oss;
      oss << i;
      line.replace(nPosition, nSize, oss.str());
      os << line << std::endl;
   }
}
Правда, с файлами не проверял.
http://ideone.com/9qcfq
Yandex
Объявления
05.07.2012, 02:14     Как заменить определенный символ на номера попорядку?
Ответ Создать тему
Опции темы

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