0 / 0 / 0
Регистрация: 19.06.2019
Сообщений: 8
1

Использование переменной в другой переменной типа string

30.03.2020, 04:44. Показов 2217. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, в C++ перешёл недавно и столкнулся с проблемой.
Как мне в определённую часть string ввести имя пользователя?
C++
1
2
3
4
5
char buffer[UNLEN + 1]; // буфер
    DWORD size; // размер 
    size = sizeof(buffer); // размер буфера
    GetUserName(buffer, &size); // получаю имя пользователя
string path = "C:\\Users\\имя пользователя\\AppData\\Local";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2020, 04:44
Ответы с готовыми решениями:

Ввод переменной типа string
Код для зашифровки текста шифром Цезаря. Но нужный текст,который будет зашифрован,нужно вводить в...

Использование переменной под string в функциях
Всем привет, извините если заголовок не подходит! Вообщем у меня проблема, я не могу понять как...

Убрать в переменной типа string пробелы
Задача у меня такая. Пользователь вводит текст с консоли. 1.Удалить все пробелы и знаки...

Конвертация переменной типа string в массив int
Добрый день. Есть строка string выглядит следующим образом: string str = "01 07 45 0F 12 00 02 09...

6
Вездепух
Эксперт CЭксперт С++
11688 / 6367 / 1723
Регистрация: 18.10.2014
Сообщений: 16,050
30.03.2020, 05:15 2
Лучший ответ Сообщение было отмечено Lotsmon как решение

Решение

Цитата Сообщение от Lotsmon Посмотреть сообщение
Как мне в определённую часть string ввести имя пользователя?
1. Определить, где в path начинается и где заканчивается заменяемая подстрока "имя пользователя".
2. Удалить заменяемую строку при помощи метода std::string::erase.
3. Вставить на то же место новое содержимое (т.е. строку buffer) при помощи метода std::string::insert.
0
0 / 0 / 0
Регистрация: 19.06.2019
Сообщений: 8
30.03.2020, 11:15  [ТС] 3
Если не сложно можно пример кода
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
30.03.2020, 12:02 4
Лучший ответ Сообщение было отмечено Lotsmon как решение

Решение

Цитата Сообщение от Lotsmon Посмотреть сообщение
можно пример кода
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
#include <iostream>
#include <string>
 
std::string replace(std::string str, const std::string &field, const std::string &val) {
    auto pos = str.find(field);
    if (pos != std::string::npos) {
//        str.erase(pos, field.length());
//        str.insert(pos, val);
        
        // или оба действия одной строкой
        
        str.replace(pos, field.length(), val);
    }
 
    return str;
}
 
int main() {
    using namespace std;
 
    char username[] = "vasya";
    string path = replace("C:\\Users\\{UserName}\\AppData\\Local", "{UserName}", username);
    cout << path << endl;
 
    return 0;
}
2
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
30.03.2020, 12:05 5
Цитата Сообщение от Lotsmon Посмотреть сообщение
Как мне в определённую часть string ввести имя пользователя?
C++
1
2
3
string path = "C:\\Users\\";
path += buffer;
path += "\\AppData\\Local";
0
Вездепух
Эксперт CЭксперт С++
11688 / 6367 / 1723
Регистрация: 18.10.2014
Сообщений: 16,050
30.03.2020, 12:19 6
Цитата Сообщение от valen10 Посмотреть сообщение
C++
1
2
// или оба действия одной строкой
str.replace(pos, field.length(), val);
О! Я к стыду своему, забыл, что у std:::string есть replace... Правильно, именно replace, а не erase + insert.
0
valen10
30.03.2020, 15:56     Использование переменной в другой переменной типа string
  #7

Не по теме:

TheCalligrapher, бывает =) Память может подводить, выручают справочники и reference...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2020, 15:56

Использование переменной типа char в цикле for
Ребята, подскажите пожалуйста, как использовать 8-ми битную переменную в цикле for? Неправильный...

Присвоение переменной типа std::string значение bool
Объясните, почему компилируется такой код: std::string str; str = true; а такой нет:

Присваивание целочисленного значения переменной типа std::string
имеется вот такой синтаксис: int tmp=0; std::string a=tmp++; if(max&gt;var) cout&lt;&lt;a&lt;&lt;edl; ...

Как присвоить переменной типа string значение из файла
Название файла неизвестно, задается пользователем в командой строке при вызове программы. Т.е....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru