📄 unix2dos.c
字号:
/*
* Unix uses only a LF for \n. MS-DOS uses CRLF.
* This program puts the CR back in for MSDOS.
*
* Kenneth J. Hendrickson
*/
#ifdef MSDOS
#include <fcntl.h>
#include <io.h>
#include <process.h>
#endif
#include <stdio.h>
#define CTRL_J '\012' /* LF */
#define CTRL_M '\015' /* CR */
main(argc, argv)
int argc;
char **argv;
{
FILE *in;
char buffer[2];
/* optional input arg */
if (argc > 1) {
if ((in = fopen(argv[1], "r")) == NULL) {
(void) perror(argv[1]);
exit(1);
}
argc--;
} else
in = stdin;
if (argc != 1) {
(void) fprintf(stderr, "Usage: unix2dos [infile]\n");
exit(2);
}
#ifdef MSDOS
/* don't translate CRLF into LF when reading */
(void) setmode(fileno(in), O_BINARY);
/* don't translate LF into CRLF when writing */
(void) setmode(fileno(stdout), O_BINARY);
#endif
while (fread(buffer, sizeof (char), 1, in) == 1) {
if (buffer[0] == CTRL_J)
(void) fputc(CTRL_M, stdout); /* add a CR before the LF */
(void) fputc(buffer[0], stdout);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -