// 10-smartptr2.cpp : encapsulate a FILE* in a unique_ptr #include #include #include using namespace std; int main(int argc, const char *argv[]) { if (argc != 2) { cerr << "Syntax: " << argv[0] << " \n"; return 1; } unique_ptr fp{ fopen(argv[1], "rb"), fclose }; if (fp) { int c; while ((c = fgetc(fp.get())) != EOF) { putchar(c); } } }