Помогите разобраться с куском кода
Код:
#include "stdafx.h"
#include "stdafx.h"
#include "conio.h"
#include <fstream>
#include "stdio.h"
#include <string>
#include <stdlib.h>
#include <sstream>
int _tmain(int argc, _TCHAR* argv[])
{
char line[100];
char * context = NULL;
const char* tok;
//const char* word;
const char *maswords[100];
//bool even;
int numarray[100];
int i = 0, j = 0, cwords = 0, value;
printf("Input string > ");
gets_s(line);
for(tok = strtok_s(line, ", ", &context);
tok && *tok;
tok = strtok_s(NULL, ", n", &context))
{
maswords[cwords] = tok;
cwords = cwords + 1;
}
if(cwords < 2)
{return 0;}
cwords = cwords - 1;
for(i = cwords; i >= 0; i--)
{
printf("%s ", maswords[i]);
}
printf("nNumbers array(-100):n");
//numbers array
j = 0;
for(i = 0; i <= cwords; i++)
{
value = atoi(maswords[i]);
if(value != 0)
{
printf("%d ", value - 100);
numarray[j] = value - 100;
j = j + 1;
}
}
printf("nPress any key");
_getch();
return 0;
}
#include "stdafx.h"
#include "conio.h"
#include <fstream>
#include "stdio.h"
#include <string>
#include <stdlib.h>
#include <sstream>
int _tmain(int argc, _TCHAR* argv[])
{
char line[100];
char * context = NULL;
const char* tok;
//const char* word;
const char *maswords[100];
//bool even;
int numarray[100];
int i = 0, j = 0, cwords = 0, value;
printf("Input string > ");
gets_s(line);
for(tok = strtok_s(line, ", ", &context);
tok && *tok;
tok = strtok_s(NULL, ", n", &context))
{
maswords[cwords] = tok;
cwords = cwords + 1;
}
if(cwords < 2)
{return 0;}
cwords = cwords - 1;
for(i = cwords; i >= 0; i--)
{
printf("%s ", maswords[i]);
}
printf("nNumbers array(-100):n");
//numbers array
j = 0;
for(i = 0; i <= cwords; i++)
{
value = atoi(maswords[i]);
if(value != 0)
{
printf("%d ", value - 100);
numarray[j] = value - 100;
j = j + 1;
}
}
printf("nPress any key");
_getch();
return 0;
}
Код:
А именно с этим куском, не могу понять что он делает, каким образом работает.
gets_s(line);
for(tok = strtok_s(line, ", ", &context);
tok && *tok;
tok = strtok_s(NULL, ", n", &context))
{
maswords[cwords] = tok;
cwords = cwords + 1;
gets_s(line);
for(tok = strtok_s(line, ", ", &context);
tok && *tok;
tok = strtok_s(NULL, ", n", &context))
{
maswords[cwords] = tok;
cwords = cwords + 1;
как работает и что делает strtok читай в справочниках по c++