.lol-promo.left,
.lol-promo.right {
position: absolute;
-moz-transform: scale(1, -1);
-webkit-transform: scale(1, -1);
-o-transform: scale(1, -1);
-ms-transform: scale(1, -1);
transform: scale(1, -1);
}
.lol-promo.left{
bottom: 0; left: 0;
}
.lol-promo.right {
bottom: 0; right: 0;
background-position: -95px 0;
right: 0px;
}
如果行的第一个字符是分号,我可以使用getc完全跳过一行吗?
答案 0 :(得分:4)
您的代码包含对-1
的一些引用。我怀疑您认为EOF
是-1
。这是一个共同的价值,但只需要一个负值 - 任何适合int
的负值。在职业生涯开始时不要养成坏习惯。将EOF
写在EOF
所在的位置(并且不要在EOF
处查看-1
。
int c;
while ((c = getc(file)) != EOF)
{
if (c == ';')
{
// Gobble the rest of the line, or up until EOF
while ((c = getc(file)) != EOF && c != '\n')
;
}
else
{
do
{
//Here I do my stuff
…
} while ((c = getc(file)) != EOF && c != '\n');
}
}
请注意,getc()
会返回int
,因此c
被声明为int
。
答案 1 :(得分:3)
我们假设“line”表示一个字符串,直到您点击指定的行尾字符(此处假设为\r\n
,不同的系统使用不同的字符或字符序列,如{{1} })。然后,当前字符c
是否在分号开始行中变为状态信息,您需要在while
- 循环的不同迭代中维护该状态信息。例如:
bool is_new_line = true;
bool starts_with_semicolon = false;
int c;
while ((c = getc(file) != EOF) {
if (is_new_line) {
starts_with_semicolon = c == ';';
}
if (!starts_with_semicolon) {
// Process the character.
}
// If c is '\n', then next letter starts a new line.
is_new_line = c == '\n';
}
代码只是为了说明原理 - 它没有经过测试或其他任何东西。