Мужики, нужна ваша помощь! Вот задача: Есть текстовый файл в корне диска C:\ под названием 1.txt. Файл может иметь, к примеру, такое содержание: мусоррррыффывфы 1 456 45645 634322555234ыыы 1 0 2 3 ыыыыы PASSWD0921345 В конце первой строки после мусора в любом случае будет стоять либо ноль, либо единица (сейчас там стоит единица). Мне нужно как-то прочитать содержимое этого файла. Т.е, если, к примеру, в конце первой текстовой строки стоит 1, то необходимо скопировать самое последнее слово в файле (в даном случае PASSWD0921345). Если же стоит 0, то не принимать никаких действий. Code: #include <windows.h> LPCTSTR ReadPassword() { HANDLE hFile; DWORD dwBytesRead; DWORD dwBytesWritten; static char buff4File[256]; static char buff4Password[256]; hFile = CreateFile("C:\\1.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); dwBytesRead = GetFileSize(hFile, &dwBytesRead); ReadFile(hFile, buff4File, dwBytesRead, &dwBytesWritten, NULL); CloseHandle(hFile); return buff4File; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmd, int nShow) { MessageBox(0, ReadPassword(), 0, 0); return 0; } То есть, смотрите: Если в конце первой строки стоит 0, то никакой строки вида PASSWD0921345 в конце файла быть не может. Если же в конце (все той же первой строки) стоит 1, то самое последнее слово (PASSWD0921345) надо скопировать в отдельный буфер. Хотелось бы переделать функцию ReadPassword() так, чтобы она возвращала буфер, содержащий слово PASSWD0921345 (в данном случае), или fail, если в конце 0. Help!
гавно код на шарпе Code: using System; using System.IO; class MainClass { public static void Main (string[] args) { string path = Console.ReadLine(); string[] lines = File.ReadAllLines(path); if(lines[0].ToCharArray()[lines[0].ToCharArray().Length-1] == '0') return; Console.WriteLine(lines[lines.Length-1].Split(' ')[lines[lines.Length-1].Split().Length-1]); Console.ReadLine(); } }