天道酬勤,学无止境

newline

Newline character(\n) in scanf [duplicate]

This question already has answers here: Why does scanf ask twice for input when there's a newline at the end of the format string? (7 answers) Closed 4 years ago. Suppose i write the code below: #include<stdio.h> int main() { int a,b; scanf("%d\n",&a); printf("%d",a); return 0; } The input is taken and the cursor is blinking in the next line without printing the value of a. But if I remove the \n character, it is printing the value of a automatically in the next line. Even if I place a \n, before the %d in scanf (scanf("%d\n",&a);), it is not moving the cursor to the next line, and taking the

2021-09-23 19:01:45    分类:问答    c   printf   newline   scanf

结束而不显示换行符的 Python 输入(Python input that ends without showing a newline)

问题 是否有类似于 raw_input 的 python 函数,但是当你按下回车键时它不显示换行符。 例如,当您在 Forth 提示中按 Enter 键时,它不会显示换行符。 编辑: 如果我使用代码: data = raw_input('Prompt: ') print data 比输出可能是: Prompt: Hello Hello 因为当我按下回车键时它打印了一个换行符。 我想要一个类似于 raw_input 的函数,它不显示换行符。 所以如果我想要的函数被称为 special_input 并且我使用了代码: data = special_input('Prompt: ') print data 比输出将是这样的: Prompt: Hello Hello 回答1 是的,还有其他方法可以读取像raw_input这样的行 您可以使用 sys.stdin(): import sys line = sys.stdin.readline() 或者,如果您想获取密码,也可以使用 getpass.getpass(): import getpass line = getpass.getpass() 但是如果你想要更花哨的东西,你需要使用curses

2021-09-21 19:24:06    分类:技术分享    python   newline   textinput

Java正则表达式中的换行符和美元符号(New line and dollar sign in Java regular expression)

问题 我知道$用于检查Java正则表达式中是否有行尾。 对于以下代码: String test_domain = "http://www.google.com/path\nline2\nline3"; test_domain = test_domain.replaceFirst("(\\.[^:/]+).*$?", "$1"); System.out.println(test_domain); 输出是: http://www.google.com line2 line3 我假设模式(\\.[^:/]+).*$? 匹配第一行,即http://www.google.com/path , $1是http://www.google.com 。 ? 进行不情愿的匹配(因此匹配第一行。) 但是,如果我删除? 在模式中并实现以下代码: String test_domain = "http://www.google.com/path\nline2\nline3"; test_domain = test_domain.replaceFirst("(\\.[^:/]+).*$", "$1"); System.out.println(test_domain); 输出是: http://www.google.com/path line2 line3 我认为它应该给出结果http://www.google

2021-09-21 03:07:22    分类:技术分享    java   regex   newline

使用 myString.split(“\n”) 时遇到问题;(Having problems using myString.split(“\n”);)

问题 我需要将输入字符串分成许多部分。 拆分应该发生在“\n”(字面意思是反斜杠-n,而不是换行符)。 例如,我想把这个: x = [2,0,5,5]\ny = [0,2,4,4]\ndraw y #0000ff\ny = y & x\ndraw y #ff0000 进入这个: x = [2,0,5,5] y = [0,2,4,4] draw y #0000ff y = y & x draw y #ff0000 我会认为stringArray = string.split("\n"); 就足够了。 但它给了我与以下代码中的输入相同的输出: public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter Input\n"); String s = br.readLine(); NewInterpreter interpreter = new NewInterpreter(s); interpreter.run(); } public NewInterpreter(String input) { this.input = input

2021-09-20 11:01:22    分类:技术分享    java   string   io   split   newline

在 Python 中获取文本文件的换行统计信息(Get newline stats for a text file in Python)

问题 我在 git 文件中有一个令人讨厌的 CRLF / LF 冲突,这可能是从 Windows 机器提交的。 是否有一种跨平台的方式(最好在 Python 中)来检测文件中占主导地位的换行符类型? 我有这个代码(基于 https://stackoverflow.com/a/10562258/239247 的想法): import sys if not sys.argv[1:]: sys.exit('usage: %s <filename>' % sys.argv[0]) with open(sys.argv[1],"rb") as f: d = f.read() crlf, lfcr = d.count('\r\n'), d.count('\n\r') cr, lf = d.count('\r'), d.count('\n') print('crlf: %s' % crlf) print('lfcr: %s' % lfcr) print('cr: %s' % cr) print('lf: %s' % lf) print('\ncr-crlf-lfcr: %s' % (cr - crlf - lfcr)) print('lf-crlf-lfcr: %s' % (lf - crlf - lfcr)) print('\ntotal (lf+cr-2*crlf-2*lfcr): %s\n

2021-09-20 05:00:26    分类:技术分享    python   newline

C# 控制台 - 如何在没有换行的情况下 ReadLine()? (或撤消 \n 或垂直 \b)(C# Console - How to ReadLine() without a new line? ( or undo a \n or a vertical \b))

问题 我想知道当我在下一行的开头时是否可以回到最后一行? (当然在 C# 控制台中) 我的意思是Console.WriteLine()导致转到下一行,即使按回车,我也想留在我的行中。 (而且我认为没有另一种方法可以在不转到下一行的情况下读取 ReadLine ,是吗?) 我发现Console.SetCursorPosition()很有用,如下所示: int x, y; Console.WriteLine("Please enter the point's coordinates in this form (x,y):"); Console.Write("("); x = Convert.ToInt32(Console.ReadLine()); Console.SetCursorPosition(x.ToString().Length + 1, Console.CursorTop - 1); Console.Write(","); y = Convert.ToInt32(Console.ReadLine()); Console.SetCursorPosition(x.ToString().Length + y.ToString().Length + 2, Console.CursorTop - 1); Console.WriteLine(")"); 这似乎工作正常

2021-09-19 21:53:19    分类:技术分享    c#   console   newline   edit   console.readline

新队 ( ) 在 Symfony 形式的单选选项之间(Newline (<br>) between radio choices in Symfony form)

问题 我有这个表单生成代码..: $form = $this->createFormBuilder($task) ->add('mode', 'choice', array( 'label' => false, 'choices' => array( 'mode1' => '1', 'mode2' => '2', 'mode3' => '3', ), 'multiple' => false, 'expanded' => true, 'required' => true, )) ->getForm(); 问题是呈现的表单具有内联选项(无线电输入),它们之间没有<br/>标签。 此外,我找不到如何使用树枝模板呈现表单,因此请不要触摸 PHP 代码,例如,我如何专门“装饰”我的单选按钮列表中的每个选项。 <div style='margin:25px'> {{ form_start(form_options) }} {{ form_widget(form_options) }} {{ form_end(form_options) }} </div> 我怎样才能延长这个? 回答1 您可以根据需要呈现每个表单字段。 不要使用{{ form_widget(form_options) }}使用{{ form_row (form.fieldName) }}然后你可以添加你喜欢的 html 和样式

2021-09-19 17:48:40    分类:技术分享    php   symfony   twig   newline   symfony-forms

UNIX:用冒号替换换行符,在 EOF 之前保留换行符(UNIX: Replace Newline w/ Colon, Preserving Newline Before EOF)

问题 我有一个格式的文本文件(“INPUT.txt”): A<LF> B<LF> C<LF> D<LF> X<LF> Y<LF> Z<LF> <EOF> 我需要重新格式化为: A:B:C:D:X:Y:Z<LF> <EOF> 我知道你可以用'sed'来做到这一点。 使用“sed”执行此操作有 10 亿次谷歌点击。 但我试图强调可读性、简单性以及使用正确的工具来完成正确的工作。 'sed' 是一个使用和隐藏换行符的行编辑器。 可能不是这项工作的正确工具! 我认为这项工作的正确工具是“tr”。 我可以用以下命令用冒号替换所有换行符: cat INPUT.txt | tr '\n' ':' 我的工作已经完成了 99%。 不过,我现在有个问题。 通过用冒号替换所有换行符,我不仅会在序列末尾得到一个多余的冒号,而且还会丢失输入末尾的回车符。 它看起来像这样: A:B:C:D:X:Y:Z:<EOF> 现在,我需要从输入的末尾删除冒号。 但是,如果我尝试通过 'sed' 传递这个处理过的输入以删除最后一个冒号(现在我认为这是对 'sed' 的正确使用),我发现自己遇到了第二个问题。 输入不再以换行符终止! 对于所有命令,'sed' 完全失败,因为它永远找不到输入的第一行的结尾! 在某些输入的末尾附加换行符似乎是一项非常非常常见的任务,考虑到我自己非常想用 C 编写一个程序来完成它

2021-09-19 09:29:20    分类:技术分享    unix   sed   append   newline

在substitute() 表达式中添加换行符(Adding a newline in a substitute() expression)

问题 我正在尝试使用回归模型中的相关数据在 ggplot 中注释一个图。 我遵循了这篇 SO post 中的建议,并尝试修改该函数以在图中的换行符中添加几个附加项。 这是我对新功能的尝试: lm_eqn = function(m){ eq <- substitute(italic(y) == a %.% italic(x)^b*","~~italic(r)^2~"="~r2*","~~italic(n)~"="~nn*","~~italic(p-value)~"="~pv, list(a = format(exp(coef(m)[1]), digits = 3), b = format(coef(m)[2], digits = 3), r2 = format(summary(m)$r.squared, digits = 3), nn=format(summary(m)$df[2]), pv=format(summary(m)$coefficients[,4][2]))) as.character(as.expression(eq)); } 它产生预期的输出:全部在一行中。 但我想将文本分成两行,第二行以italic(n)=开头。 但是如果我引入一个\n ,它会在找到\n时抛出一个错误。 如果我在引号内引入 \n: "\n"那么它似乎被忽略并且文本保留在一行中。

2021-09-19 07:29:04    分类:技术分享    r   expression   newline   substitution

在substitute() 表达式中添加换行符(Adding a newline in a substitute() expression)

问题 我正在尝试使用回归模型中的相关数据在 ggplot 中注释一个图。 我遵循了这篇 SO post 中的建议,并尝试修改该函数以在图中的换行符中添加几个附加项。 这是我对新功能的尝试: lm_eqn = function(m){ eq <- substitute(italic(y) == a %.% italic(x)^b*","~~italic(r)^2~"="~r2*","~~italic(n)~"="~nn*","~~italic(p-value)~"="~pv, list(a = format(exp(coef(m)[1]), digits = 3), b = format(coef(m)[2], digits = 3), r2 = format(summary(m)$r.squared, digits = 3), nn=format(summary(m)$df[2]), pv=format(summary(m)$coefficients[,4][2]))) as.character(as.expression(eq)); } 它产生预期的输出:全部在一行中。 但我想将文本分成两行,第二行以italic(n)=开头。 但是如果我引入一个\n ,它会在找到\n时抛出一个错误。 如果我在引号内引入 \n: "\n"那么它似乎被忽略并且文本保留在一行中。

2021-09-19 07:27:29    分类:技术分享    r   expression   newline   substitution