C语言编程中逗号是如何输出的!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程中逗号是如何输出的!!相关的知识,希望对你有一定的参考价值。
我要做的是查询文本文档中逗号的个数!!
这个程序中'//'是输出'/'所以是查询'/'的个数,不是查询逗号的个数。在C函数库中有个函数是strchr()查询指定的字符所在的位置。
#include <stdio.h>
#include <ctype.h>
int main(void)
File *fp;
char *chr;
if(fp=fopen("text","r")==0)//假设“text”是要调用的文件
printf("text can't open!");
return 1;
while(feof(fp))
chr=strchr(fp,',');
count++;
fclose(fp);
return 0;
参考技术A
逗号不是C语言当中的特殊字符,不需要转义,直接输即可。
例如:
printf("输出英文逗号,输出中文逗号,");puts("输出英文逗号,输出中文逗号,");
如何在 jinja python 模板中输出逗号分隔列表?
【中文标题】如何在 jinja python 模板中输出逗号分隔列表?【英文标题】:How to output a comma delimited list in jinja python template? 【发布时间】:2012-08-12 01:03:50 【问题描述】:如果我有users
的列表,比如["Sam", "Bob", "Joe"]
,我想做一些可以在我的 jinja 模板文件中输出的事情:
% for user in userlist %
<a href="/profile/ user /"> user </a>
% if !loop.last %
,
% endif %
% endfor %
我想让输出模板为:
Sam, Bob, Joe
我尝试了上面的代码来检查它是否在循环的最后一次迭代中,如果不是,则不要插入逗号,但它不起作用。我该怎么做?
【问题讨论】:
jinja 和 Python 一样,不使用!
作为否定运算符。 "not" 拼写为 "not"。
【参考方案1】:
您希望您的if
支票是:
% if not loop.last %
,
% endif %
请注意,您也可以使用If Expression 缩短代码:
", " if not loop.last else ""
【讨论】:
这太棒了,尤其是在 html 中循环结束时 仅供参考,您可能需要根据您的设置将其设为 if/else。更多信息。可以在这里找到:github.com/pallets/jinja/issues/710 或者是某些情况 "," if not forloop.last
我支持关于添加 else 的评论。这对我有用 "," if not loop.last else ""
在我的例子中是forloop
而不是loop
和%
而不是
,就像这样:% if not forloop.last %,% endif %
。其他解决方案无效【参考方案2】:
你也可以使用内置的“加入”过滤器(http://jinja.pocoo.org/docs/templates/#join 像这样:
users|join(', ')
【讨论】:
虽然这适用于创建 csv,但请参阅上面的示例,它不能与周围的锚一起使用。 这种方法也不适用于转义: [' ['a\'', 'b']|join("', '") '] 产生 [' a'', 'b'] 这应该是第一件事。如果它不能按预期工作,请尝试其他解决方案,但这绝对是最干净的。 这给出了一个尾随逗号,我该如何摆脱它? 您可能有一个尾随空元素。如果你有三个元素 a b c 你会在加入 X 时得到 aXbXc:ansible -i localhost, all -m debug -a "msg=\" [ 'a','b','c' ]|join('X') \""
【参考方案3】:
并使用来自https://jinja.palletsprojects.com/templates/#joiner 的joiner
% set comma = joiner(",") %
% for user in userlist %
comma() <a href="/profile/ user /"> user </a>
% endfor %
它正是为此目的而制作的。通常,对于单个列表,连接或检查 forloop.last 就足够了,但对于多组事物,它很有用。
一个更复杂的例子说明你为什么要使用它。
% set pipe = joiner("|") %
% if categories % pipe()
Categories: categories|join(", ")
% endif %
% if author % pipe()
Author: author()
% endif %
% if can_edit % pipe()
<a href="?action=edit">Edit</a>
% endif %
【讨论】:
这实际上对我来说效果很好,没有留下逗号。感谢这个!以上是关于C语言编程中逗号是如何输出的!!的主要内容,如果未能解决你的问题,请参考以下文章
C语言中计算逗号表达式c=(a=7,b=a+2,b+1),并且输出a,b,c的值是啥意思啊?求解
用c语言编程实现输出100以内的所有是3的倍数,或者含有3的正整数。要求输出时所有的数都以逗号隔开