~~Exercise.#~~
int main(int argc, char *argv[]){
return 0;
}
To compile, one may use any of:
* ''cc prog.c -o prog''
* ''gcc --std=c17 -Wall --pedantic -g -O2 x.c -o x''
* ''clang --std=c17 -Wall --pedantic -g -O2 x.c -o x''
~~Exercise.#~~
#include
int main(int argc, char *argv[]){
printf("Hello.\n");
return 0;
}
#include
int main(int argc, char *argv[]){
fprintf(stdout, "Hello.\n");
return 0;
}
#include
int main(int argc, char *argv[]){
write(STDOUT_FILENO, "Hello.\n", 7);
return 0;
}
~~Exercise.#~~
#include
#include
int main(int argc, char *argv[]){
write(STDOUT_FILENO, argv[1], strlen(argv[1]));
write(STDOUT_FILENO, "\n", 1);
return 0;
}
~~Exercise.#~~
#include
#include
int main(int argc, char *argv[]){
write(STDOUT_FILENO, argv[1]+3, strlen(argv[1])-3);
write(STDOUT_FILENO, "\n", 1);
return 0;
}
~~Exercise.#~~
#include
#include
int main(int argc, char *argv[]){
for(int i = 0; i < argc; ++i){
write(STDOUT_FILENO, argv[i], strlen(argv[i]));
write(STDOUT_FILENO, "\n", 1);
}
return 0;
}
or, knowing that the argument array has a [[https://en.wikipedia.org/wiki/Sentinel_value|sentinel]]:
#include
#include
int main(int argc, char *argv[]){
do {
write(STDOUT_FILENO, *argv, strlen(*argv));
write(STDOUT_FILENO, "\n", 1);
} while(*++argv);
return 0;
}
~~Exercise.#~~
#include
#include
int main(int argc, char *argv[]){
char buffer[256];
strncpy(buffer, argv[1], 254);
buffer[254] = 0;
strcat(buffer, "\n");
write(STDOUT_FILENO, buffer, strlen(buffer));
return 0;
}
~~Exercise.#~~
#include
#include
#include
int main(int argc, char *argv[]){
size_t length = strlen(argv[1]);
char *buffer = (char*) malloc(length+1);
memcpy(buffer, argv[1], length);
buffer[length]='\n';
write(STDOUT_FILENO, buffer, strlen(buffer));
free(buffer);
return 0;
}
~~Exercise.#~~
#include
#include
#include
#include
int main(int argc, char *argv[]){
size_t length = strlen(argv[1]);
char *buffer = (char*) malloc(length+1);
for(int i = 0; i < length; ++i)
buffer[i] = toupper(argv[1][i]);
buffer[length]='\n';
write(STDOUT_FILENO, buffer, length+1);
free(buffer);
return 0;
}
~~Exercise.#~~
#include
#include
#include
int main(int argc, char *argv[]){
char buffer[256];
scanf("%254[^\n]", buffer);
strcat(buffer, "\n");
write(STDOUT_FILENO, buffer, strlen(buffer));
return 0;
}
#include
#include
#include
int main(int argc, char *argv[]){
char buffer[256];
fscanf(stdin, "%254[^\n]", buffer);
strcat(buffer, "\n");
write(STDOUT_FILENO, buffer, strlen(buffer));
return 0;
}
#include
int main(int argc, char *argv[]){
char buffer[256];
int length = read(STDIN_FILENO, buffer, 256);
write(STDOUT_FILENO, buffer, length);
return 0;
}
~~Exercise.#~~
#include
#include
int main(int argc, char *argv[]){
char buffer[256];
while(1){
int length = read(STDIN_FILENO, buffer, 256);
if(length == -1){
perror(NULL);
return 1;
}
if(length == 0)
break;
write(STDOUT_FILENO, buffer, length);
}
return 0;
}
~~Exercise.#~~
#include
#include
int readFile(){
char buffer[256];
while(1){
int length = read(STDIN_FILENO, buffer, 256);
if(length == -1){
perror(NULL);
return 1;
}
if(length == 0)
return 0;
write(STDOUT_FILENO, buffer, length);
}
}
int main(int argc, char *argv[]){
if(readFile())
return -1;
lseek(STDIN_FILENO, 0, SEEK_SET);
if(readFile())
return -1;
return 0;
}
~~Exercise.#~~
#include
#include
int main(int argc, char *argv[]){
char buffer[256];
while(1){
int length = read(4, buffer, 256);
if(length == -1){
perror(NULL);
return 1;
}
if(length == 0)
break;
write(STDOUT_FILENO, buffer, length);
}
return 0;
}
~~META:
language = en
~~