Загрузка...

C|C++ Стандартные плюшки

Тема в разделе C/C++ создана пользователем panikajo 5 июн 2018. 341 просмотр

Загрузка...
  1. panikajo
    panikajo Автор темы 5 июн 2018 Junior Developer 84 10 ноя 2016
    #Создать файл, записать в файл:
    Код
    ofstream : класс писать на файлы
    ifstream : класс для чтения из файлов
    fstream : класс для чтения и записи из / в файлы.

    #include <iostream>
    #include <fstream>
    using namespace std;

    int main ()
    {
    ofstream file;
    // ofstream f("новый файл.txt"); - создаёт файл.
    file.open ("новый файл.txt");
    file << "свой текст для записи в файл.";
    file.close();
    return 0;
    }
    #Переименовать файл:
    Код
    #include <windows.h>
    #include <stdio.h>

    #include <shlwapi.h>
    #pragma comment(lib, "shlwapi.lib")

    int main()
    {
    char szPath[MAX_PATH] = "C:\\test.txt";
    PathRenameExtension(szPath, ".log");
    return 0;
    }

    Вывод:

    До: C:\test.txt
    После: C:\test.log
    #Запретить завершение приложения после закрытия консоли:
    Код
    DeleteMenu(GetSystemMenu(GetConsoleWindow(), false), SC_CLOSE, MF_BYCOMMAND);
    #PathCombine ( соединяем пути к файлам ):
    Код
    #include <stdio.h>
    #include <windows.h>
    #include <shlwapi.h>
    #pragma comment(lib, "shlwapi.lib")

    int main()
    {
    char lpDir[] = "C:\\Windows\\system32"; // Переменная для нашей папки
    char lpFile[] = "notepad.exe"; // переменная названия нашего файла
    char lpDest[MAX_PATH] = {'\0'}; // добавочный путь со слешем

    PathCombine(lpDest, lpDir, lpFile); // Соединяем все 3 комбинации

    puts(lpDest); // Смотрим что получилось

    return 0;
    }

    Вывод: C:\Windows\system32\notepad.exe
    #Проверить существование папки:
    Код
    #include <stdio.h>
    #include <windows.h>
    #include <shlwapi.h>
    #pragma comment(lib, "shlwapi.lib")


    BOOL PathFileExists(
    __in LPCTSTR pszPath
    );
    int main()
    {
    char lpPath[] = "C:\\Windows";
    if (PathFileExists(lpPath)) {
    printf("%s папка существует..", lpPath);
    } else {
    printf("%s папка не существует.", lpPath);
    }

    return 0;
    }
    #Получить заголовок окна:
    Код
    #include <windows.h>
    #include <stdio.h>

    int main()
    {
    char lpConsoleTitle[256] = {'\0'};
    SetConsoleTitle("Hello, World!");
    GetConsoleTitle(lpConsoleTitle,
    sizeof(lpConsoleTitle)/sizeof(lpConsoleTitle[0]));
    printf("Console title is \"%s\"\n", lpConsoleTitle);
    return 0;
    }
    #Заголовок окна:
    Код
    int main()
    {
    SetConsoleTitle(TEXT("XakForMotya"));
    system("Pause");
    }
    #Создать папку:

    Код
    #include <iostream>
    #include <windows.h>
    #include "Shlwapi.h"
    #include "shlobj.h"
    #pragma comment(lib, "ShLwApi.Lib")

    BOOL DirectoryExists(LPCTSTR szPath) // функция для проверки директории
    {
    DWORD dwAttrib = GetFileAttributes(szPath);

    return (dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
    }

    int main()
    {
    // папка создаётся в %temp%
    TCHAR myPath[MAX_PATH];
    GetTempPath(MAX_PATH, myPath);
    // буфер
    TCHAR t1Dir[MAX_PATH + 2] = { 0 };

    wchar_t UserName[MAX_PATH];
    DWORD dwSize = sizeof(UserName);
    GetUserName(UserName, &dwSize); // получаем имя пользователя.

    LPCWSTR directory = PathCombine(t1Dir, myPath, UserName); // Соединяем пути
    SHCreateDirectoryEx(NULL, directory, NULL); // Создаём саму папку
    // SetFileAttributesW(directory, FILE_ATTRIBUTE_HIDDEN); - Функция для скрытыя папки
    system("Pause");
    return 0;
    }
    #Mutex
    Код
    using namespace std;

    int main()
    {
    HANDLE mutex;
    mutex = CreateMutex(NULL, FALSE, "xS2oiq9gpxilzalupa");
    DWORD result;
    result = WaitForSingleObject(mutex, 0);
    if (result == WAIT_OBJECT_0)
    {
    // открываем...
    }
    CloseHandle(mutex); // закрываем...
    }
     
Top