Wstawienie znaku do zmiennej typu string C++
Ostatnio zmodyfikowano 2014-09-10 19:26
pekfos |
» 2014-09-07 23:05:45 Żeby zapisać plik do określonej lokalizacji w C++ potrzebuję ścieżki z podwójnymi slashami. |
Nieprawda. Wystarczy pojedynczy slash, ale backslashe muszą być 2, bo backslash to znak specjalny w języku C++ - nie w informatyce ogólnie. Nie rozróżniasz najwyraźniej kodu C++, od skompilowanego programu napisanego w C++, czy dowolnym innym jezyku. W kodzie C++ piszesz \\ i po skompilowaniu otrzymujesz \ , tak samo jak \n jest zmieniane na znak nowej linii. #include <iostream> #include <fstream> #include <string>
int main() { std::string path = "asd\\123.txt"; std::ofstream ofs( path ); std::cout << path << ' ' << ofs.fail(); } asd\123.txt 0
|
|
miecio1990 |
» 2014-09-08 10:30:22 wcale nie musisz zamieniac kazdego "\" na "\\". Mozesz po prostu zamieniec "\" -> "/" i problem z glowy. nie musisz wtedy lokowac dodatkowej pamieci na dodatkowe znaki ani nic w tym stylu. nic prostszego nie przychodzi mi do glowy |
|
Kefirek Temat założony przez niniejszego użytkownika |
» 2014-09-08 18:37:52 Sorry Pekfos, ale pisząc o slashu tak naprawdę miałem na myśli backslasha stąd te zamieszanie i nieporozumienie. Do miecio1990 - no tak jeżeli zamienię backslasha na slasha w path to będzie prostsze. Pozdrawiam i Sorry za zamieszanie |
|
skovv |
» 2014-09-08 19:55:03 A nie myślałeś nad int main( int argc, char * argv[] ) ? |
|
Kefirek Temat założony przez niniejszego użytkownika |
» 2014-09-09 20:50:14 Ja piszę w Builder C++, i main function is : __fastcall TfrmKlient::TfrmKlient(TComponent* Owner) : TForm(Owner) Pozdrawiam |
|
Kefirek Temat założony przez niniejszego użytkownika |
» 2014-09-10 19:26:25 Poniższy kod zamienia backslasha na slasha: CreateDir( nazwaFolderu.c_str() ); String dir = ExtractFileDir( Application->ExeName ); String path = ExtractFilePath( Application->ExeName ); string d = dir.c_str(); string p = path.c_str(); for( int i = 0; i < dir.Length(); i++ ) { if( d[ i ] == '\\' ) d[ i ] = '/'; } edtNazwa->Text = d.c_str();
Pozdrawiam |
|
1 « 2 » |