ifstream:: откройте not working in Visual Studio debug mode

Попробуйте этот класс разрешений

# permissions.py
from rest_framework.permissions import BasePermission


class MyCustomPermissionClass(BasePermission):
    def has_permission(self, request, view):
        """
        You need to allow everyone to access the "list,create" apis. So, you should return "True" always
        """
        return True

    def has_object_permission(self, request, view, obj):
        return request.user == obj  # here "obj" will be the "User" instance


# views.py
class UserViewSet(viewsets.ModelViewSet):
    permission_classes = [MyCustomPermissionClass, ] 
    queryset = User.objects.all()
    serializer_class = UserSerializer
7
задан Patrizio Bertoni 6 July 2015 в 09:51
поделиться

4 ответа

Попробуйте использовать побитовый оператор ИЛИ при указании режима открытия.

infile.open ("input.txt", ios::ate | ios::in);

Параметр openmode является битовой маской. ios :: ate используется для открытия файла для добавления, а ios :: in используется для открытия файла для чтения ввода.

Если вы просто хотите прочитать file, вы, вероятно, можете просто использовать:

infile.open ("input.txt", ios::in);

Режим открытия по умолчанию для ifstream - ios :: in, так что теперь вы можете полностью избавиться от него. Следующий код работает для меня, используя g ++.

#include <iostream>
#include <fstream>
#include <cstdio>

using namespace std;

int main(int argc, char** argv) {
    ifstream infile;
    infile.open ("input.txt");

    if (infile)
    {
        while (infile.good())
            cout << (char) infile.get();
    }
    else
    {
        cout << "Unable to open file.";
    }
    infile.close();
    getchar();
    return 0;
}
8
ответ дан 6 December 2019 в 15:31
поделиться

Я нашел две проблемы в вашем коде:

a) Синтаксическая ошибка в "ios :: ate || ios :: in" => должна быть "ios :: ate | ios :: in "

b)" ios :: ate "устанавливает курсор в конец файла - поэтому вы ничего не получите, когда начнете читать

. Так что просто удалите" ios :: ate ", и все в порядке: ) [1 296] чао, Крис

1
ответ дан 6 December 2019 в 15:31
поделиться
infile.open ("input.txt", ios::ate || ios::in);

|| - это логический или оператор, а не побитовый оператор (как сказал Билл Лиззард).

так я думаю, вы делаете эквивалент:

infile.open ("input.txt", true);

(при условии, что ни ios :: ate, ни ios :: in не равны 0)

0
ответ дан 6 December 2019 в 15:31
поделиться

Попробуйте использовать:

ifstream fStm("input.txt", ios::ate | ios::in);

У меня также возникают проблемы с отладкой - не могу ли я установить часы на "infile.good ()" или "infile.is_open ()"? Я продолжаю получать сообщение «Ошибка: функция-член отсутствует.»

и включает в себя:

#include <fstream> 

и т. Д.

0
ответ дан 6 December 2019 в 15:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: