Add parseInt function for parsing CLI arguments for array size
This commit is contained in:
parent
15001000c5
commit
903eb40d19
11
main.cpp
11
main.cpp
@ -518,6 +518,13 @@ int parseUInt(const char *str, unsigned int *output)
|
|||||||
return !strlen(next);
|
return !strlen(next);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int parseInt(const char *str, int *output)
|
||||||
|
{
|
||||||
|
char *next;
|
||||||
|
*output = strtol(str, &next, 10);
|
||||||
|
return !strlen(next);
|
||||||
|
}
|
||||||
|
|
||||||
void parseArguments(int argc, char *argv[])
|
void parseArguments(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
for (int i = 1; i < argc; i++)
|
for (int i = 1; i < argc; i++)
|
||||||
@ -538,13 +545,11 @@ void parseArguments(int argc, char *argv[])
|
|||||||
else if (!std::string("--arraysize").compare(argv[i]) ||
|
else if (!std::string("--arraysize").compare(argv[i]) ||
|
||||||
!std::string("-s").compare(argv[i]))
|
!std::string("-s").compare(argv[i]))
|
||||||
{
|
{
|
||||||
unsigned int tmp_array_size = static_cast<unsigned int>(ARRAY_SIZE);
|
if (++i >= argc || !parseInt(argv[i], &ARRAY_SIZE))
|
||||||
if (++i >= argc || !parseUInt(argv[i], &tmp_array_size))
|
|
||||||
{
|
{
|
||||||
std::cerr << "Invalid array size." << std::endl;
|
std::cerr << "Invalid array size." << std::endl;
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
ARRAY_SIZE = static_cast<int>(tmp_array_size);
|
|
||||||
}
|
}
|
||||||
else if (!std::string("--numtimes").compare(argv[i]) ||
|
else if (!std::string("--numtimes").compare(argv[i]) ||
|
||||||
!std::string("-n").compare(argv[i]))
|
!std::string("-n").compare(argv[i]))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user