iostream, ifstream, ofstream
Similaire aux stream (sortie standard)
#include <iostream>
#include <string>
#include <fstream>
int main ()
{
std::string filename = "./test.out";
std::string str_from_file;
std::ifstream ifs("numbers");
unsigned int dst;
unsigned int dst2;
ifs >> dst >> dst2;
std::cout << dst << " " << dst2 << std::endl;
ifs.close();
// -------------------------------------------
std::ofstream ofs("./test.out");
ofs << "I like ponies a whole damn lot" << std::endl;
ofs.close();
// -------------------------------------------
// developpement personnel
// -------------------------------------------
std::ifstream ifs2;
int j = 0;
ifs2.open("./test.out");
if (ifs2.fail())
{
std::cout << "Error file failed to open!" << std::endl;
}
else
{
std::string text;
while(getline(ifs2, text))
{
std::cout << text << std::endl;
j++;
}
std::cout << j << " line read ---" << std::endl;
ifs2.close();
}
// -------------------------------------------
char c;
int i = 0;
std::ifstream ifs3;
ifs3.open("numbers");
if (ifs3.fail())
{
std::cout << "Error file failed to open!" << std::endl;
}
else
{
std::string text;
while(ifs3.get(c))
{
std::cout << c;
i++;
}
std::cout << std::endl << i << " char read ---" << std::endl;
ifs3.close();
}
// -------------------------------------------
std::ifstream ifs4;
ifs4.open("numbers");
if (ifs4.fail())
{
std::cout << "Error file failed to open!" << std::endl;
}
else
{
std::string ifs4texte;
// get word
ifs4 >> ifs4texte;
std::cout << ifs4texte << std::endl;
ifs4.close();
}
}
12 42 I like ponies a whole damn lot 1 line read --- 12 42 other line 1 and more 27 char read --- 12
Egalement sur les strings
#include <iostream>
#include <sstream>
#include <string>
// C++ program to count words in
// a string using stringstream.
// and number of K into the string
int countWords(std::string str)
{
// Breaking input into word
// using string stream
// Used for breaking words
std::stringstream s(str);
// To store individual words
std::string word;
int count = 0;
while (s >> word)
count++;
return count;
}
int countk(std::string str)
{
// Breaking input into word
// using string stream
// Used for breaking words
std::stringstream s2(str);
// To store individual words
char carractere;
int countc = 0;
while (s2.get(carractere))
{
if (carractere == 'k')
{
std::cout << carractere << " ";
countc++;
}
}
return countc;
}
// Driver code
int main()
{
std::string s = "geeks for geeks geeks "
"contribution placements";
std::cout << " Number of words are: " << countWords(s) << std::endl;
std::cout << " Number of k are: " << countk(s);
std::cout << s << std::endl;
// pure string management
std::string repl1 = "for";
std::string repl2 = "to";
std::cout << s << std::endl;
int pos = s.find(repl1, 1);
s.erase(pos, repl1.size());
std::cout << s << std::endl;
s.insert(pos, repl2);
std::cout << "1234567890123456789" << std::endl;
std::cout << " ---" << std::endl;
std::cout << s << std::endl;
pos = s.find(repl2, 1);
s.replace(pos, repl2.size(), repl1);
std::cout << s << std::endl;
return 0;
}
Number of words are: 6
Number of k are: k k k 3geeks for geeks geeks contribution placements
geeks for geeks geeks contribution placements
geeks geeks geeks contribution placements
1234567890123456789
---
geeks to geeks geeks contribution placements
geeks for geeks geeks contribution placements