mirror of
https://github.com/cy384/ssheven.git
synced 2026-05-21 06:45:34 -06:00
add better print function
This commit is contained in:
parent
9242fc4ef6
commit
aef30ac837
3 changed files with 88 additions and 52 deletions
|
|
@ -147,12 +147,54 @@ void print_string_i(const char* c)
|
|||
|
||||
void print_string(const char* c)
|
||||
{
|
||||
for (int i = 0; i < strlen(c); i++)
|
||||
while (*c != '\0')
|
||||
{
|
||||
print_char(c[i]);
|
||||
print_char(*c++);
|
||||
}
|
||||
}
|
||||
|
||||
void printf_i(const char* str, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, str);
|
||||
|
||||
while (*str != '\0')
|
||||
{
|
||||
if (*str == '%')
|
||||
{
|
||||
str++;
|
||||
switch (*str)
|
||||
{
|
||||
case 'd':
|
||||
print_int(va_arg(args, int));
|
||||
break;
|
||||
case 's':
|
||||
print_string(va_arg(args, char*));
|
||||
default:
|
||||
va_arg(args, int); // ignore
|
||||
print_char('%');
|
||||
print_char(*str);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (*str == '\\')
|
||||
{
|
||||
str++;
|
||||
print_char(*str);
|
||||
}
|
||||
else
|
||||
{
|
||||
print_char(*str);
|
||||
}
|
||||
|
||||
str++;
|
||||
}
|
||||
|
||||
InvalRect(&(con.win->portRect));
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void set_window_title(WindowPtr w, const char* c_name)
|
||||
{
|
||||
Str255 pascal_name;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue