Added standard I/O stream examples
This commit is contained in:
parent
c2103cdc4c
commit
8b87ead3b9
3 changed files with 73 additions and 0 deletions
40
lab1/stream-examples/Makefile
Normal file
40
lab1/stream-examples/Makefile
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# Define the compiler and the linker. The linker must be defined since
|
||||||
|
# the implicit rule for linking uses CC as the linker. g++ can be
|
||||||
|
# changed to clang++.
|
||||||
|
CXX = g++
|
||||||
|
CC = $(CXX)
|
||||||
|
|
||||||
|
# Generate dependencies in *.d files
|
||||||
|
DEPFLAGS = -MT $@ -MMD -MP -MF $*.d
|
||||||
|
|
||||||
|
# Define preprocessor, compiler, and linker flags. Uncomment the # lines
|
||||||
|
# if you use clang++ and wish to use libc++ instead of GNU's libstdc++.
|
||||||
|
# -g is for debugging.
|
||||||
|
CPPFLAGS = -std=c++11 -I.
|
||||||
|
CXXFLAGS = -O2 -Wall -Wextra -pedantic-errors -Wold-style-cast
|
||||||
|
CXXFLAGS += -std=c++11
|
||||||
|
CXXFLAGS += -g
|
||||||
|
CXXFLAGS += $(DEPFLAGS)
|
||||||
|
LDFLAGS = -g
|
||||||
|
#CPPFLAGS += -stdlib=libc++
|
||||||
|
#CXXFLAGS += -stdlib=libc++
|
||||||
|
#LDFLAGS += -stdlib=libc++
|
||||||
|
|
||||||
|
# Targets
|
||||||
|
PROGS = read-words example-out
|
||||||
|
|
||||||
|
all: $(PROGS)
|
||||||
|
|
||||||
|
# Phony targets
|
||||||
|
.PHONY: all test clean distclean
|
||||||
|
|
||||||
|
# Standard clean
|
||||||
|
clean:
|
||||||
|
rm -f *.o $(PROGS)
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm *.d
|
||||||
|
|
||||||
|
# Include the *.d files
|
||||||
|
SRC = $(wildcard *.cc)
|
||||||
|
-include $(SRC:.cc=.d)
|
11
lab1/stream-examples/example-out.cc
Normal file
11
lab1/stream-examples/example-out.cc
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
/* An example program that prints text to both standard out and standard error.
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
std::cout << "This text is written to stdout\n";
|
||||||
|
std::cerr << "And this is written to stderr\n";
|
||||||
|
std::cout << "More text to stdout\n";
|
||||||
|
std::cerr << "And some more to stderr\n";
|
||||||
|
}
|
22
lab1/stream-examples/read-words.cc
Normal file
22
lab1/stream-examples/read-words.cc
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/* An example program that reads words from the standard input
|
||||||
|
* and prints them each on a separate line to standard out.
|
||||||
|
*
|
||||||
|
* If running this from the terminal, note two things:
|
||||||
|
* 1. Text is buffered and not sent to the program until
|
||||||
|
* you hit enter.
|
||||||
|
*
|
||||||
|
* 2. The program reads until it reaches the end of the stream.
|
||||||
|
* For the terminal, you need to send an end-of-file (EOF)
|
||||||
|
* character by pressing <Ctrl>-d as the first character on
|
||||||
|
* a line.
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
std::string s;
|
||||||
|
while(std::cin >> s){
|
||||||
|
std::cout << s << '\n';
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue