void LibConfigProgram::createArguments(LibConfig::VersionInfo::Settings& version) const { LibConfig::VersionInfo::Settings::SettingsPerModule::OptionMap args; # if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC) bool hasCxxFlags = false; # endif if (pOptCxxFlags) { const String::List::const_iterator end = pOptModules.end(); for (String::List::const_iterator i = pOptModules.begin(); i != end; ++i) { LibConfig::VersionInfo::Settings::SettingsPerModule& modSettings = version.moduleSettings[*i]; modSettings.merge(args, modSettings.cxxFlags); modSettings.merge(args, modSettings.defines); modSettings.merge(args, modSettings.includes); } if (!args.empty()) { # if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC) hasCxxFlags = true; # endif PrintArgs(args); } } if (pOptLibFlags) { args.clear(); const String::List::const_iterator end = pOptModules.end(); for (String::List::const_iterator i = pOptModules.begin(); i != end; ++i) { LibConfig::VersionInfo::Settings::SettingsPerModule& modSettings = version.moduleSettings[*i]; modSettings.merge(args, modSettings.frameworks); modSettings.merge(args, modSettings.libs); modSettings.merge(args, modSettings.libIncludes); } if (!args.empty()) { # if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC) if (hasCxxFlags) std::cout << ' '; std::cout << "-Wl,--start-group "; # endif PrintArgs(args); # if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC) std::cout << " -Wl,--end-group"; # endif } } std::cout << "\n"; }
void CanvasBase::Print(const char* format, ... ) const { va_list oArgs; va_start(oArgs, format); PrintArgs(m_oPrintParam.x, m_oPrintParam.y, m_oPrintParam.sFontPath, m_oPrintParam.size, m_oPrintParam.eAlign, m_oPrintParam.oColor.r, m_oPrintParam.oColor.g, m_oPrintParam.oColor.b, format, oArgs); switch (m_oPrintParam.eAlign) { case LeftTop: case CenterTop: case RightTop: case LeftCenter: case Center: case RightCenter: m_oPrintParam.y += m_oPrintParam.size; break; case LeftBottom: case CenterBottom: case RightBottom: m_oPrintParam.y -= m_oPrintParam.size; break; } va_end(oArgs); }
int main(int argc, char *argv[]){ Read *Read = CreateRead(65536+GUARD, 65535+GUARD); int32_t seqSize = 0, x, n; uint64_t cutted = 0, totalReads = 0; if(argc < 2 || ArgBin(0, argv, argc, "-h") || ArgBin(0, argv, argc, "?")){ PrintArgs(argv[0]); return EXIT_SUCCESS; } int k = ArgNum(5, argv, argc, "-k", 0, 9999999); int min_QS_window = ArgNum(25, argv, argc, "-w", 0, 9999999); int min_QS = ArgNum(33, argv, argc, "-m", 0, 9999999); fprintf(stderr, "Minimum QS: %d\n", min_QS); uint32_t position = 0; while(GetRead(stdin, Read)){ seqSize = strlen((char *) Read->bases) - 1; for(x = seqSize ; x >= 0 ; x--){ if(x >= k){ int tmp_QS = 0; for(n = 0 ; n < k ; ++n){ tmp_QS += ((int) Read->scores[x - 1 - n]) - min_QS; } if(((double) tmp_QS / k) < (double) min_QS_window){ ++cutted; position = x; break; } } } ++totalReads; if(x > seqSize - k) continue; // PRINT READ fprintf(stdout, "@"); for(n = 0 ; n < strlen((char *) Read->header1) ; ++n) fprintf(stdout, "%c", Read->header1[n]); for(n = position ; n < seqSize ; ++n) fprintf(stdout, "%c", Read->bases[n]); fprintf(stdout, "\n+\n"); for(n = position ; n < seqSize ; ++n) fprintf(stdout, "%c", Read->scores[n]); fprintf(stdout, "\n"); } fprintf(stderr, "Total reads : %"PRIu64"\n", totalReads); fprintf(stderr, "Trimmed reads : %"PRIu64"\n", cutted); FreeRead(Read); return EXIT_SUCCESS; }
// Print the action name and the target. void MHElemAction::PrintMe(FILE *fd, int nTabs) const { PrintTabs(fd, nTabs); fprintf(fd, "%s (", m_ActionName); m_Target.PrintMe(fd, nTabs+1); PrintArgs(fd, nTabs+1); // Any other arguments must be handled by the subclass. fprintf(fd, ")\n"); }
void CanvasBase::Print(sint32 x, sint32 y, const char* sFontPath, uint16 size, ETextAlign eAlign, const Color& oColor, const char* format, ... ) const { va_list oArgs; va_start(oArgs, format); PrintArgs(x, y, sFontPath, size, eAlign, oColor.r, oColor.g, oColor.b, format, oArgs); va_end(oArgs); }
void CanvasBase::Print(sint32 x, sint32 y, const char* sFontPath, uint16 size, ETextAlign eAlign, uint8 r, uint8 g, uint8 b, const char* format, ... ) const { va_list oArgs; va_start(oArgs, format); PrintArgs(x, y, sFontPath, size, eAlign, r, g, b, format, oArgs); va_end(oArgs); }
int main(){ char s[200]; char *argv[10]; // Read a string from the user printf("Enter a string: "); fgets(s, sizeof s, stdin); // Extract arguments and print them ReadArgs(s, argv, 30); PrintArgs(argv); }
// Display a string void Print(char *fmt, ...) { va_list args; if (fmt == NULL) { return; } va_start(args, fmt); PrintArgs(fmt, args); va_end(args); }
// Display a debug string with arguments void DebugArgs(char *fmt, va_list args) { // Validate arguments if (fmt == NULL) { return; } if (g_debug == false) { return; } PrintArgs(fmt, args); }
// デバッグ文字列を引数付きで表示する void DebugArgs(char *fmt, va_list args) { // 引数チェック if (fmt == NULL) { return; } if (g_debug == false) { return; } PrintArgs(fmt, args); }
int main() { char s[200]; char* argv[MAX_ARGS]; int argc; /* Read a string from the user */ printf("Enter a string: "); fgets(s, sizeof s, stdin); /* Remove newline character from input */ s[strlen(s)-1] = '\0'; /* Extract arguments and print them */ ReadArgs(s, argv, MAX_ARGS); PrintArgs(argv); return 0; }
int main(int argc, char *argv[]){ Read *Read = CreateRead(65536+GUARD, 65535+GUARD); int32_t seqSize = 0, x; uint64_t *QS = (uint64_t *) Calloc(65536, sizeof(uint64_t)); if(ArgBin(0, argv, argc, "-h") || ArgBin(0, argv, argc, "?")){ PrintArgs(argv[0]); return EXIT_SUCCESS; } while(GetRead(stdin, Read)){ seqSize = strlen((char *) Read->bases) - 1; for(x = 0 ; x < seqSize ; ++x){ int tmp_QS = (int) Read->scores[x]; if(QS[x] < tmp_QS) QS[x] = tmp_QS; if(x == 65535){ fprintf(stderr, "Error: read to long. Increase buffer!\n"); exit(1); } } } int maxs = atoi(argv[argc-1]); for(x = 0 ; x < maxs ; ++x) fprintf(stdout, "%2d ", x+1); fprintf(stdout, "\n"); for(x = 0 ; x < maxs ; ++x) fprintf(stdout, "--+"); fprintf(stdout, "\n"); for(x = 0 ; x < maxs ; ++x) fprintf(stdout, "%2d ", (int) QS[x]); fprintf(stdout, "\n"); Free(QS, 0); FreeRead(Read); return EXIT_SUCCESS; }
void PrintCommand(struct Command* command) { /* Check if line is empty */ if (command->num_sub_commands == 0) { printf("Empty command.\n"); return; } /* Check if line starts with <, >, & */ if (command->sub_commands[0].argv[0] == NULL) { printf("Invalid command.\n"); return; } int i; for (i = 0; i < command->num_sub_commands; i++) { printf("\nCommand %d:\n", i); PrintArgs(command->sub_commands[i].argv); } if (command->stdin_redirect == NULL) printf("\nRedirect stdin: NULL\n"); else printf("\nRedirect stdin: %s\n", command->stdin_redirect); if (command->stdout_redirect == NULL) printf("Redirect stdout: NULL\n"); else printf("Redirect stdout: %s\n", command->stdout_redirect); if (command->background) printf("Background: yes\n"); else printf("Background: no\n"); }
int main(int argc, char *argv[]){ Read *Read = CreateRead(65536+GUARD, 65535+GUARD); uint32_t seqSize = 0, totalQS = 0, N = 0, x, n; uint64_t okReads = 0, totalReads = 0; if(ArgBin(0, argv, argc, "-h") || ArgBin(0, argv, argc, "?")){ PrintArgs(argv[0]); return EXIT_SUCCESS; } int max_n = ArgNum(0, argv, argc, "-n", 0, 9999999); int k = ArgNum(5, argv, argc, "-k", 0, 9999999); int min_QS_window = ArgNum(25, argv, argc, "-w", 0, 9999999); int min_avg_qs = ArgNum(25, argv, argc, "-a", 0, 9999999); int min_read_size = ArgNum(35, argv, argc, "-m", 0, 9999999); // LOAD PARAMETERS while(GetRead(stdin, Read)){ seqSize = strlen((char *) Read->bases) - 1; totalQS = 0; N = 0; for(x = 0 ; x < seqSize ; ++x){ if(Read->bases[x] == 'N'){ ++N; } totalQS += ((int) Read->scores[x]) - 33; // PHRED +33 if(x < seqSize - k){ int tmp_QS = 0; for(n = 0 ; n < k ; ++n) tmp_QS += ((int) Read->scores[x + n]) - 33; if(tmp_QS / k < min_QS_window) break; } } ++totalReads; // EVALUATE TO DISCARD: if(N > max_n) continue; if((totalQS / seqSize) < min_avg_qs) continue; if(x < min_read_size) continue; // PRINT READ for(n = 0 ; n < strlen((char *) Read->header1) ; ++n) fprintf(stdout, "%c", Read->header1[n]); for(n = 0 ; n < x ; ++n) fprintf(stdout, "%c", Read->bases[n]); fprintf(stdout, "\n+\n"); for(n = 0 ; n < x ; ++n) fprintf(stdout, "%c", Read->scores[n]); fprintf(stdout, "\n"); ++okReads; } fprintf(stderr, "Total reads : %"PRIu64"\n", totalReads); fprintf(stderr, "Filtered reads : %"PRIu64"\n", totalReads-okReads); FreeRead(Read); return EXIT_SUCCESS; }
int main (void) { double dummy = 0; PrintArgs (dummy, 1.0, 2.0, 3.0, -1.0); return 0; }
int main (void) { A dummy; PrintArgs (dummy, dummy); // ERROR - cannot pass non-POD return 0; }