brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · c5fe349 Raw
50 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS -D_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM10 11// <strstream>12 13// class istrstream14 15// explicit istrstream(char* s);16 17#include <strstream>18#include <cassert>19#include <string>20 21#include "test_macros.h"22 23int main(int, char**)24{25    {26        char buf[] = "123 4.5 dog";27        std::istrstream in(buf);28        int i;29        in >> i;30        assert(i == 123);31        double d;32        in >> d;33        assert(d == 4.5);34        std::string s;35        in >> s;36        assert(s == "dog");37        assert(in.eof());38        assert(!in.fail());39        in.clear();40        in.putback('g');41        assert(!in.fail());42        in.putback('g');43        assert(!in.fail());44        assert(buf[9] == 'g');45        assert(buf[10] == 'g');46    }47 48  return 0;49}50