Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3

Открыть файл в папке AppData\Local

29.11.2016, 23:09. Показов 3128. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Вот мои последние изыскания:
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
27
28
29
30
31
32
33
34
35
36
37
#pragma once
 
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <stdio.h>
#include <tchar.h>
#include <fstream>
#include <Shlobj.h>
 
#include "stdafx.h"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    TCHAR szPath[MAX_PATH];
    SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA | CSIDL_FLAG_CREATE, NULL, 0, szPath);
 
    wstring dpath;
    for each (wchar_t p in szPath) dpath += p;
 
    wstring fpath(L"\\Test\\Test.txt");
    wstring fullpath = dpath + fpath;
    
    ifstream fin(fullpath);
    if (!fin)
    {
        cout << "File Test.txt not found\n";
        system("pause");
    }
    int i = 0;
    while (!fin.eof())
        ...
    fin.close();
    ...
}
Путь к системной папке находит, но полный путь не хочет складываться, пробовал самому прописывать путь (wstring dpath(L"C:\...")) путь складывается, но поток файл все-равно не открывает.
Прошу помощи
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2016, 23:09
Ответы с готовыми решениями:

Открыть файл во вложенной папке
Добрый день. К примеру главный программный модуль запускается в каталоге ~/current . Мне нужно получить доступ к файлу находящемуся в...

Не могу открыть файл, размещенный в папке с именем на русском языке
Файл на D:\Решетова_Н\Галкин\Всякое Если помещаю файл непосредственно на D - все работает. Думаю дело в русскоязычных названиях папок.......

Какая связь проекта с файлами в папке AppData\Local\Temp\Temporary ASP.NET Files
Разбираю примеры приложений asp.net mvc4 . И во время выполнения (уже в самом браузере) вылетает ошибка(смотреть картинку) . Я уже долго...

11
 Аватар для John999
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
29.11.2016, 23:41
Цитата Сообщение от Serg34 Посмотреть сообщение
Путь к системной папке находит,
Так доступа нет вероятно.
0
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
29.11.2016, 23:48  [ТС]
John999, Доступ есть. Я этот файл открывал вручную и программно (на C#)
0
 Аватар для John999
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
29.11.2016, 23:55
Цитата Сообщение от Serg34 Посмотреть сообщение
программно (на C#)
Кстати вспомнил, у программ на C# приоритет выше.
Если открыли программой на C#, не откроете С++ программой.
Придется поднатужиться.
Подробности извините не помню.... Нужно у WinApi- шников
спрашивать.
1
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
29.11.2016, 23:57  [ТС]
John999, А почему в строчке
C++
1
wstring fullpath = dpath + fpath;
к переменной fullpath не прибавляется fpath?
0
 Аватар для John999
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
30.11.2016, 00:03
какая-то загадка
0
 Аватар для iRomul
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488
30.11.2016, 03:10
Кстати, а зачем вы строку инициализируете таким способом?
Цитата Сообщение от Serg34 Посмотреть сообщение
for each (wchar_t p in szPath) dpath += p;
Почему просто не передать массив в конструктор?
C++
1
wstring dpath(szPath);
Какая-то особенность работы функции SHGetFolderPath?
1
 Аватар для Serg34
100 / 100 / 33
Регистрация: 20.09.2014
Сообщений: 457
Записей в блоге: 3
30.11.2016, 07:53  [ТС]
iRomul, С русскими символами был косяк.
Сейчас попробовал - уже нормально получается wstring dpath(szPath) и конкатенация пути проходит нормально и файл открывается. Может и в этой строчке было дело..
Вобщем, как говорится утро вечера мудренее
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
30.11.2016, 09:47
Цитата Сообщение от John999 Посмотреть сообщение
Кстати вспомнил, у программ на C# приоритет выше.
Все процессы равны перед системой, от языка это не зависит.
С какими правами запустишь программу - с такими она и будет работать.
2
 Аватар для John999
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
30.11.2016, 10:59
Цитата Сообщение от Убежденный Посмотреть сообщение
от языка это не зависит.
Конечно язык здесь не причем.
Извините что неясно выразился. Имел в виду приложения работающие
под управлением CLR.
Цитата Сообщение от Убежденный Посмотреть сообщение
С какими правами запустишь программу - с такими она и будет работать.
И до вашего ответа считал, что в файлах управляемой сборки
есть таинственный атрибут вроде System.Security.AccessControl.Above-Average.
Но пока ничего не нашел
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
30.11.2016, 12:00
Цитата Сообщение от John999 Посмотреть сообщение
Имел в виду приложения работающие под управлением CLR.
И CLR здесь тоже не при чем

Проверка прав при попытке открыть объект - это, по сути, проход по списку пользователей и групп,
заданных в списке контроля доступа объекта и поиск соответствующих SID-ов в токене потока или
процесса, который запрашивает доступ. На Vista и выше также проверяются метки целостности
объекта (Integrity Levels), а на Windows 8 и выше - разрешения для AppContainer.
Про CLR система безопасности Windows "ничего не знает" и если, например, у токена твоего
процесса отсутствует SID нужной группы, то доступ к объекту, который можно открывать только
членам данной группы, твой процесс не получит, независимо от каких-либо атрибутов сборки.
2
 Аватар для John999
230 / 113 / 79
Регистрация: 17.10.2016
Сообщений: 312
30.11.2016, 12:04
Убежденный, спасибо за объяснение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2016, 12:04
Помогаю со студенческими работами здесь

Вирус расплодился в папке C:\Users\.\AppData\Local\Temp. В диспетчере задач отображается как процессы браузеров
В папке temp несколько гигабайт папок с 11-символьными бессмысленными названий. До конца они не удаляются. Правда в безопасном режиме после...

Путь до папки local (appdata)
Проблема, работаю на Windows 10, использую Environment.GetEnvironmentVariable(&quot;LocalAppData&quot;) + @&quot;\Syspec\fox&quot; У меня всё работает,...

Что за папка \AppData\Local\Temp?
что за папка C:\Users\Name\AppData\Local\Temp ? Добавлено через 20 секунд wind7

Как почистить папку C:\Users\****\AppData\Local\Google\Chrome
Размер папки C:\Users\****\AppData\Local\Google\Chrome достиг 3 гигов, (Application 1гиг User Data 2гига), можно ли эти папки просто...

C:\Users\A4F7~1\AppData\Local\Temp\234429Log.iniis lost
Такое окошко с ошибкой возникает при загрузке системы. Проблема появилась после чистки папки Temp


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

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

Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru