#include <iostream>
#include <fstream>
#include <algorithm>
int main(int, char**) {
char symbol = ',';
std::ifstream input_file("txt.txt");
int line_number = 0;
std::string current_line;
while (std::getline(input_file, current_line)) {
auto symbols_in_string = std::count(current_line.begin(), current_line.end(), symbol);
std::cout << "'" << symbol << "' in line " << line_number + 1 << ": " << symbols_in_string << std::endl;
line_number += 1;
}
return 0;
}
#include <cstdint> // хэдр для uint32_t
std::uint32_t value; // переменная, гарантировано 4 байта
// предполагаю, что inp наследник std::istream
inp.read(reinterpret_cast<char*>(&value), sizeof(value)); //кастим наши 4 байта в char*-буфер, sizeof(value) == 4
std::cout << value; // ну и выводим, что получилось
#include <string>
#include <utility>
#include <iostream>
class CredentialsInfo {
std::string _login, _password;
public:
CredentialsInfo() {}
CredentialsInfo(const std::string& login, const std::string& password)
: _login(login)
, _password(password)
{ }
public:
std::string Login() const {
return _login;
}
std::string Password() const {
return _password;
}
void SetLogin(const std::string& newLogin) {
_login = newLogin;
}
void SetPassword(const std::string& newPassword) {
_password = newPassword;
}
friend std::ostream& operator<<(std::ostream&, const CredentialsInfo&);
};
std::ostream& operator<<(std::ostream& out, const CredentialsInfo& info) {
return out << info._login << "; " << info._password;
}
template <class DataClass>
class Queue {
public:
typedef DataClass value_type;
private:
struct QueueNode {
value_type Value;
QueueNode* Next;
QueueNode(value_type&& value)
: Value(std::move(value))
, Next(nullptr)
{ }
};
QueueNode *_head, *_tail;
public:
Queue()
: _head(nullptr)
, _tail(nullptr)
{ }
~Queue() {
while(_head) {
auto tmp = _head;
_head = _head->Next;
delete tmp;
}
}
public:
template <class Data>
void Add(Data&& data) {
auto* newNode = new QueueNode(std::forward<Data>(data));
if (_head) {
_tail->Next = newNode;
_tail = newNode;
} else {
_head = _tail = newNode;
}
}
template<class... Args>
void Add(Args&&... args) {
Add(value_type(std::forward<Args>(args)...));
}
void Show(std::ostream& out) const {
auto it = _head;
while (it) {
out << it->Value << '\n';
it = it->Next;
}
out.flush();
}
};
typedef Queue<CredentialsInfo> CredentialsQueue;
int main(int, char**) {
CredentialsQueue queue;
queue.Add("s", "ss");
queue.Add("1", "op");
queue.Add("1", "p");
queue.Show(std::cout);
return 0;
}
std::uint64_t length = GetMessageLength(); // ну тут наверное разбирешся
length = host_to_bigendian(length); // смотри для своей платформы как перевести в big endian
const char* lengthBytes = static_cast<const char*>(&length); // в памяти все и так как нужно уже лежит
send(socket, lengthBytes, sizeof(length));
#include "MyClasses.h"
class MyClass;
namespace my { class MyClass; }
my::MyClass myClass;
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main() {
printf("%s\n", setlocale(LC_ALL, NULL));
printf("%s\n", setlocale(LC_ALL, "ru_RU.UTF-8"));
printf("%s\n", setlocale(LC_ALL, NULL));
return 0;
}
➜ /tmp gcc test.c
➜ /tmp ./a.out
C
ru_RU.UTF-8
ru_RU.UTF-8