#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
if(argc > 0)
{
vector<string> args(&argv[1], &argv[argc]);
for(const auto& n : args)
{
cout << "Hello " << n << "\n";
}
}
}
//...
for(int i = 1; i < argc; ++i)
{
cout << "Hello " << argv[i] << "\n";
}
//...
Она получает имя (name) как параметр командной строки и выдает "Hello, name". Измените программу так, чтобы она получала произвольное число имен и всем им выдавала свое приветствие: "Hello, ...".
hello.exe name1 name2 name3
Hello name1
Hello name2
Hello name3
13. (*3) Напишите функцию обработки ошибок, первый параметр который подобен форматирующей
строке-параметру printf() и содержит форматы %s, %c и %d. За ним может следовать произвольное
количество числовых параметров. Функцию printf() не используйте. Если смысл формата %s и
других форматов вам неизвестен, обратитесь к $$10.6. Используйте stdarg.h.
#include <iostream>
template<typename... Arg>
auto say_hello(std::ostream& os, Arg... args)
{
((os << args << "\n") , ...);
}
int main(int argc, char* argv[])
{
say_hello(std::cout, "Name", "Name1", "Name2");
std::cin.get();
}
#include<iostream>
#include<string>
using namespace std;
using mytype = pair<string, int>;
istream& operator>>(istream& is, mytype& m)
{
while(isalpha(is.peek()))
{
m.first.push_back(is.get());
}
is >> m.second;
return is;
}
ostream& operator<<(ostream& os, const mytype& m)
{
return os << m.first << m.second;
}
int main()
{
mytype mt;
cin >> mt;
cout << mt << endl;
}
#include<random>
#include<iostream>
#include<ctime>
int main()
{
std::default_random_engine dre(std::time(nullptr));
std::uniform_int_distribution<int> di(1, 80);
std::cout << di(dre) << std::endl;
std::cin.get();
}
<cstdlib> и <ctime>
что значить Звёздочка после типа?
Для чего после double стоит *, ведь это символ разыменования, а что мы разыменуем?
Зачем перед malloc стоит (double*)
Нигде не могу найти примера алг-ма "Модульная инверсия", для того, чтобы разобраться самостоятельно и понять данный алгоритм.
void screen_function(); // объявление
// ...
void loop(){
screen_function(); // первое использование
}
// ...
void screen_function()
{
// ... определение
}
Тестировать сразу функцию main в зависимости от входных параметров argc и argv.
Результат - 252
Почему не выводится 010?
Какой тип данных используется для двоичных чисел?
Почему не выводится 010?
#include <stdio.h>
#include <string.h>
#define BUF 128
void doit(char* buf, char* cmd)
{
char command[BUF] = {0};
char cmdbuf[BUF] = {0};
FILE* nextfp;
char* filename = strtok(buf, " ");
while(filename)
{
sprintf(command, "%s %s", cmd, filename);
if((nextfp = popen(command, "r")) != NULL)
{
while(fgets(cmdbuf, BUF, nextfp) != NULL)
{
puts(cmdbuf);
}
pclose(nextfp);
}
filename = strtok(NULL, " ");
}
}
void pipeline(FILE* fp, char* cmd)
{
char buf[BUF] = {0};
while(fgets(buf, BUF, fp) != NULL)
{
doit(buf, cmd);
}
}
int main()
{
FILE *check = popen("ls *.c", "r");
if (check != NULL)
{
pipeline(check, "cat");
pclose(check);
}
return 0;
}
Больше всего я тут не понял эти моменты: _Bool
Что значит _Bool это стиль такой? Или другой bool тип данных? Не понятно...
f F форматирует число с плавающей запятой в виде [-]d.d, где d - произвольные десятичные числа
double d, l, s, pi; /*Объявляем пременные*/
int r = 0;
pi = 3.14159;
printf("Enter radius of your circle:\n");
scanf("%d", &r);
printf("%.2f is the diameter of your circle\n", d = 2 * r); // %.[кол-во знаков]f
printf("%.2f fis the perimeter of your circle\n", l = 2 * pi * r);
printf("%.2f is the square of your circle\n", s = pi * (r * r));
Enter radius of your circle: 10
20.00 is the diameter of your circle
62.83 fis the perimeter of your circle
314.16 is the square of your circle
а в visual studio выдает ошибку?
#include<iostream>
#include<fstream>
#include<algorithm> // copy
#include<string>
#include<vector>
#include<array>
#include<memory> // unique_ptr
#include<cstdio>
#include<iterator>
using namespace std;
using pipe = unique_ptr<FILE, decltype(&_pclose)>;
auto getCmdOutput = [](const string& command)
{
pipe fp{_popen(command.c_str(), "r"), &_pclose};
vector<string> result;
array<char, 512> buf;
if(fp)
{
while(fgets(buf.data(), buf.size(), fp.get()))
{
result.emplace_back(buf.data());
buf.fill(0);
}
}
return result;
};
auto writeToFile = [](const string& fname, const vector<string>& info)
{
ofstream ofs(fname);
if(info.empty() || !ofs)
{
// put error ...
return false;
}
copy(info.cbegin(), info.cend(), ostream_iterator<string>{ofs});
return true;
};
int main()
{
if(writeToFile("D:\\ipconfig.cfg", getCmdOutput("ipconfig")))
{
cout << "Success!" << endl;
}
else
{
cout << "Failure!" << endl;
}
}
Как применять алгоритмы STL в Qt
To iterate over a list, you can either use index positions or QList's Java-style and STL-style iterator types:
стоит ли мне снять розовые очки
не для того, чтобы понтоваться или загаживать мозги.