Articles of 换行符

如何做一个redirect到它的stringwhile循环

即时通讯尝试循环,但HTTP链接内部和换行符的string,我想循环在一行一次。 目前我有 echo -e "$HTTP_LINKS" | while read HTTP_S_LINK ; do TEST_STRING="test" done 但是这样我就无法访问循环中的TEST_STRING,这正是我想要的。 我正在使用while循环,以便循环通过$ HTTP_LINKS中的每个换行符,而不仅仅是string中的单词。 (我不想用IFS设置为\ n的for循环) 我想也许我可以做这样的事情 #!/bin/bash while read HTTP_S_LINKS do TEST_STRING="test2" done < $HTTP_LINKS 但是当然这不起作用,因为$ HTTP_LINKS包含一个string而不是一个文件的链接。

以二进制模式写入标准输出最简单的方法是什么?

我一直在想出从C程序写入二进制数据到stdout的最好方法。 它在Linux上正常工作,但是当我在Windows上编译时遇到了问题,因为“\ n”被转换为“\ r \ n”。 有没有一种标准的方式写入标准输出的某种二进制模式,避免换行符? 如果没有,让Windows停止这个最简单的方法是什么? 我正在使用GCC和MinGW。

什么是所有操作系统的通用换行符? (LF和CR)

当我用Delphi编写一个文件的时候,它在Windows机器上,它的文本文件在Windows上工作正常。 当我在Mac上使用它时,虽然期望格式有些不同。 在Mac上,换行符不同,它不能总是读取Windows文件。 我怎样才能使我的文件可以通过mac程序?

fgetpos()行为取决于换行符

考虑这两个文件: file1.txt(Windows换行符) abc\r\n def\r\n file2.txt(Unix新行) abc\n def\n 我注意到,对于file2.txt,使用fgetpos获得的位置不会正确递增。 我正在使用Windows。 让我给你看一个例子。 以下代码: #include<cstdio> void read(FILE *file) { int c = fgetc(file); printf("%c (%d)\n", (char)c, c); fpos_t pos; fgetpos(file, &pos); // save the position c = fgetc(file); printf("%c (%d)\n", (char)c, c); fsetpos(file, &pos); // restore the position – should point to previous c = fgetc(file); // character, […]

Windows命令行redirect下的c ++换行符

我发现Windows命令行redirect会自动将'\ n'replace为'\ r \ n'。 有什么方法可以避免这种情况? 因为在stdout或stderrredirect之后,如果您向控制台写入“\ r \ n”,您将得到'\ r \ r \ n'而不是'\ r \ n'。 非常感谢! 你可以尝试一个简单的程序: fprintf(stdout,"Hello, world!\r\n"); 那么你使用redirect来运行它: demo 1>demo.log 通过使用任何HEX编辑器,您会发现'\ r \ n'用'\ r \ r \ n'表示。 更新: @ steve-jessop我已经解决了这个问题,使用setmode ,这将强制使用O_BINARY模式的stdout 。 所以stream不会将\n转换成\r\n 。 非常感谢!

为什么“\ n”在Windows上换行?

Windows上的换行标记应该是CR+LF而在Unix上,它只是LF 。 所以当我使用像Console.Write("line1\nline2"); 为什么它会“正常”地工作,给我两条线? 我希望这个\n不能工作,只有\r\n的组合才能工作。

PHP的正则expression式来限制新的行数最多两个

<br/>我正在使用这个,但它取代了一个新的行的单个发生 function nl2br2($string){ $string = preg_replace('/(\r\n){2,}/', '<br/><br/>', $string); //$string = preg_replace('/[\r\n]/', '<br/>', $string); return $string; } 它发生在第一个模式。