// -Ofast optimization. Time taken = 2.9s as compared to 4 to 5 seconds in other
// codes.
#include <fstream>
#include <string>
#include <vector>
#include <sstream>
#include <cstdio>
#include "/Users/me/Applications/fmt/include/fmt/core.h"
constexpr std::size_t minfields{33};
void splitStr(std::vector<std::string> &splitLine,
const std::string &line,
const char delimiter = ',')
{
// std::string buf;
splitLine.reserve(minfields);
char arr[20] = "";
uint count = 0;
uint j = 0;
for (const char c : line) {
if (c == delimiter) {
if (count == 3 && arr[0] != 'E' && arr[0] != 'T') {
splitLine.clear();
return;
}
arr[j] = '\0';
splitLine.emplace_back(arr);
// buf.clear();
j = 0;
++count;
}
else {
// buf.append(1, line[i]);
arr[j] = c;
++j;
}
}
}
int main(int argc, char *argv[])
{
if (argc < 3) {
exit(EXIT_SUCCESS);
}
std::ifstream inFile(argv[1]);
FILE *outFile = fopen(argv[2], "w");
std::string line{};
line.reserve(300);
while (std::getline(inFile, line)) {
std::vector<std::string> split(0);
splitStr(split, line, ';');
if (!split.empty()) {
fmt::print(outFile,
"{},{},{},{},{},{},{},{},{},{},{}\n",
split[0].c_str(),
split[1].c_str(),
split[3].c_str(),
split[4].c_str(),
split[5].c_str(),
split[6].c_str(),
split[10].c_str(),
split[9].c_str(),
split[11].c_str(),
split[7].c_str(),
split[32].c_str());
}
}
}
Ly8gLU9mYXN0IG9wdGltaXphdGlvbi4gVGltZSB0YWtlbiA9IDIuOXMgYXMgY29tcGFyZWQgdG8gNCB0byA1IHNlY29uZHMgaW4gb3RoZXIKLy8gY29kZXMuCgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxjc3RkaW8+CgojaW5jbHVkZSAiL1VzZXJzL21lL0FwcGxpY2F0aW9ucy9mbXQvaW5jbHVkZS9mbXQvY29yZS5oIgoKY29uc3RleHByIHN0ZDo6c2l6ZV90IG1pbmZpZWxkc3szM307Cgp2b2lkIHNwbGl0U3RyKHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiAmc3BsaXRMaW5lLAogICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZsaW5lLAogICAgICAgICAgICAgIGNvbnN0IGNoYXIgZGVsaW1pdGVyID0gJywnKQp7CiAgLy8gIHN0ZDo6c3RyaW5nIGJ1ZjsKICBzcGxpdExpbmUucmVzZXJ2ZShtaW5maWVsZHMpOwogIGNoYXIgYXJyWzIwXSA9ICIiOwogIHVpbnQgY291bnQgPSAwOwogIHVpbnQgaiA9IDA7CiAgZm9yIChjb25zdCBjaGFyIGMgOiBsaW5lKSB7CiAgICBpZiAoYyA9PSBkZWxpbWl0ZXIpIHsKICAgICAgaWYgKGNvdW50ID09IDMgJiYgYXJyWzBdICE9ICdFJyAmJiBhcnJbMF0gIT0gJ1QnKSB7CiAgICAgICAgc3BsaXRMaW5lLmNsZWFyKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGFycltqXSA9ICdcMCc7CiAgICAgIHNwbGl0TGluZS5lbXBsYWNlX2JhY2soYXJyKTsKICAgICAgLy8gICAgICBidWYuY2xlYXIoKTsKICAgICAgaiA9IDA7CiAgICAgICsrY291bnQ7CiAgICB9CiAgICBlbHNlIHsKICAgICAgLy8gICAgICBidWYuYXBwZW5kKDEsIGxpbmVbaV0pOwogICAgICBhcnJbal0gPSBjOwogICAgICArK2o7CiAgICB9CiAgfQoKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogIGlmIChhcmdjIDwgMykgewogICAgZXhpdChFWElUX1NVQ0NFU1MpOwogIH0KICBzdGQ6Omlmc3RyZWFtIGluRmlsZShhcmd2WzFdKTsKICBGSUxFICpvdXRGaWxlID0gZm9wZW4oYXJndlsyXSwgInciKTsKCiAgc3RkOjpzdHJpbmcgbGluZXt9OwogIGxpbmUucmVzZXJ2ZSgzMDApOwogIHdoaWxlIChzdGQ6OmdldGxpbmUoaW5GaWxlLCBsaW5lKSkgewogICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IHNwbGl0KDApOwogICAgc3BsaXRTdHIoc3BsaXQsIGxpbmUsICc7Jyk7CiAgICBpZiAoIXNwbGl0LmVtcHR5KCkpIHsKICAgICAgZm10OjpwcmludChvdXRGaWxlLAogICAgICAgICAgICAgICAgICJ7fSx7fSx7fSx7fSx7fSx7fSx7fSx7fSx7fSx7fSx7fVxuIiwKICAgICAgICAgICAgICAgICBzcGxpdFswXS5jX3N0cigpLAogICAgICAgICAgICAgICAgIHNwbGl0WzFdLmNfc3RyKCksCiAgICAgICAgICAgICAgICAgc3BsaXRbM10uY19zdHIoKSwKICAgICAgICAgICAgICAgICBzcGxpdFs0XS5jX3N0cigpLAogICAgICAgICAgICAgICAgIHNwbGl0WzVdLmNfc3RyKCksCiAgICAgICAgICAgICAgICAgc3BsaXRbNl0uY19zdHIoKSwKICAgICAgICAgICAgICAgICBzcGxpdFsxMF0uY19zdHIoKSwKICAgICAgICAgICAgICAgICBzcGxpdFs5XS5jX3N0cigpLAogICAgICAgICAgICAgICAgIHNwbGl0WzExXS5jX3N0cigpLAogICAgICAgICAgICAgICAgIHNwbGl0WzddLmNfc3RyKCksCiAgICAgICAgICAgICAgICAgc3BsaXRbMzJdLmNfc3RyKCkpOwogICAgfQogIH0KfQo=
Main.java:4: error: illegal character: '#'
#include <fstream>
^
Main.java:4: error: class, interface, or enum expected
#include <fstream>
^
Main.java:5: error: illegal character: '#'
#include <string>
^
Main.java:6: error: illegal character: '#'
#include <vector>
^
Main.java:7: error: illegal character: '#'
#include <sstream>
^
Main.java:8: error: illegal character: '#'
#include <cstdio>
^
Main.java:10: error: illegal character: '#'
#include "/Users/me/Applications/fmt/include/fmt/core.h"
^
Main.java:14: error: class, interface, or enum expected
void splitStr(std::vector<std::string> &splitLine,
^
Main.java:20: error: class, interface, or enum expected
char arr[20] = "";
^
Main.java:21: error: class, interface, or enum expected
uint count = 0;
^
Main.java:22: error: class, interface, or enum expected
uint j = 0;
^
Main.java:23: error: class, interface, or enum expected
for (const char c : line) {
^
Main.java:27: error: class, interface, or enum expected
return;
^
Main.java:28: error: class, interface, or enum expected
}
^
Main.java:30: error: class, interface, or enum expected
splitLine.emplace_back(arr);
^
Main.java:32: error: class, interface, or enum expected
j = 0;
^
Main.java:33: error: class, interface, or enum expected
++count;
^
Main.java:34: error: class, interface, or enum expected
}
^
Main.java:38: error: class, interface, or enum expected
++j;
^
Main.java:39: error: class, interface, or enum expected
}
^
Main.java:48: error: class, interface, or enum expected
}
^
Main.java:50: error: class, interface, or enum expected
FILE *outFile = fopen(argv[2], "w");
^
Main.java:52: error: class, interface, or enum expected
std::string line{};
^
Main.java:53: error: class, interface, or enum expected
line.reserve(300);
^
Main.java:54: error: class, interface, or enum expected
while (std::getline(inFile, line)) {
^
Main.java:56: error: class, interface, or enum expected
splitStr(split, line, ';');
^
Main.java:57: error: class, interface, or enum expected
if (!split.empty()) {
^
Main.java:71: error: class, interface, or enum expected
}
^
28 errors