Odstránenie znaku zo stringu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odstránenie znaku zo stringu – C / C++ – Fórum – Programujte.comOdstránenie znaku zo stringu – C / C++ – Fórum – Programujte.com

 

FanatiK
~ Anonymní uživatel
19 příspěvků
1. 12. 2013   #1
-
0
-

Zdravím , potrebujem sa v jednej aplikácii dostať do priečinka s cestou 

C:\\Users\\%User%\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\5hsxdi8y.default

Problém je v tom že názov priečinka "nieco.default" je náhodne generovaný pri prvom spustení Mozilly .

#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <iostream> 
#include <sstream>
#include <string>

using namespace std;

int main() 
{ 
WIN32_FIND_DATA findFileData;
HANDLE hFind = ::FindFirstFile("C:\\Users\\User\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\*", &findFileData);
if (hFind != INVALID_HANDLE_VALUE)
{	
	do
	{	if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
		{                          
            string sub(findFileData.cFileName);
            cout << sub;                           
		}
	} while (::FindNextFile(hFind, &findFileData));
	::FindClose(hFind);
}
cin.get();
} 

Pomocou tohto kódu sa viem dostať k názvu toho priečinka akurát mám výstup stále takýto 

...5hsxdi8y.default

Potrebujem nejakým spôsobom odstrániť tie tri bodky s pred toho názvu . Skúšal som vymazať všetky "." , ale zmaže mi to aj tú pred "default" a netuším ako ju tam dostať späť . Googlil som ohľadom tohto ale nenarazil som na žiadny funkčný príklad . Ak by bol niekto ochotný poradiť bol by som mu veľmi vďačný   

Nahlásit jako SPAM
IP: 213.81.147.–
vitamin+8
Grafoman
1. 12. 2013   #2
-
0
-

#1 FanatiK 

Mozes skusit vytvorit novy string posunuty o 3 znaky:

string str("...5hsxdi8y.default");
cout << string(str.begin()+3, str.end());
//alebo:cout << string(str.c_str()+3);


Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Matherz0
Newbie
1. 12. 2013   #3
-
0
-

#1 Jakub

  string str = "...abcd";
  cout << str.substr (3, (str.length() - 3 ) ) << endl;  //"abcd"


Stačí použít substr. První parametr určuje číslenou pozici začínajícího textu k ořezání, a druhý parametr délku textu.

V tvém případě pouze první tři znaky začínajícího řetězce až k celkové délce řetězce.

Nahlásit jako SPAM
IP: 212.96.160.–
FanatiK
~ Anonymní uživatel
19 příspěvků
1. 12. 2013   #4
-
0
-

#2 vitamin

#1 Jakub

Pri použití

cout << string(str.c_str()+3);

mi program neodstráni iba tie 3 bodky ale aj prvé 2 znaky .

Pri použití ostatných dvoch spôsobov mi program crashne s hláškou

Připojen obrázek.

Každopádne ďakujem za snahu 

Nahlásit jako SPAM
IP: 213.81.147.–
vitamin+8
Grafoman
1. 12. 2013   #5
-
0
-

#4 FanatiK
Mozes skusit este nieco taketo:

str.erase(str.find("..."), 3);
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
FanatiK
~ Anonymní uživatel
19 příspěvků
1. 12. 2013   #6
-
0
-

Znova  ten istý crash.

Nahlásit jako SPAM
IP: 213.81.147.–
vitamin+8
Grafoman
1. 12. 2013   #7
-
0
-

#6 FanatiK
Tak nastal spravny cas naucit sa pouzivat debugger :)

Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 126 hostů

Podobná vlákna

[C#] Nalezení znaku ve stringu — založil MartiniBaby

Citanie znaku zo stringu — založil ja

Přidávání znaků do stringu — založil Šťouchal

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý