如何在每个in的末尾打印一个美元符号

时间:2014-10-08 03:58:10

标签: c linux

while (fgets(line, LINELEN, inputFile)){
      printf("%s$", line)
}

我正在尝试读取文件并将其作为CAT命令打印到控制台。在这种情况下,我想在每一行的末尾加上一个美元符号,但美元叹息恰好在每一行的开头打印出来。你们能告诉我如何解决这个问题。非常感谢!

2 个答案:

答案 0 :(得分:2)

fgets包含该行末尾的'\n'

使用类似:

char line[hopefullybigenough];
while (fgets(line, sizeof(line), inputFile)) {
    size_t len = strlen(line);
    if (line[len - 1] == '\n') line[len - 1] = '\0';
    printf("%s$\n", line);
}

答案 1 :(得分:1)

fgets命令存储它读取的换行符。通常的解决方案是删除换行符(there are several ways to do this of course)。这是一种方式:

while (fgets(line, LINELEN, inputFile)) 
{
    strtok(line, "\n");
    printf("%s$\n", line);
}