c - 忽略 C 中的换行符

标签 c stdio

我正在尝试编写一些代码来读取文件并忽略换行符 (\n),到目前为止我有:

c = fgetc(fp);
for(int loop = 0; c != EOF; loop++)
{
    if((c != '\n') && (c != '\\'))
    {
        buffer[loop] = c;
    }
    c = fgetc(fp);
}

但它似乎并没有忽略“\n”位(不确定“\”)

对于代码的布局,该站点似乎不喜欢我的 Opera 版本:(

编辑: 谢谢大家,我已经连续编码了大约 6 个小时,完全忽略了递增,这就是为什么我认为\n 保持不变。

我也不知道\r,uning Linux 但试图跨平台所以这很有帮助。

最佳答案

试试这个

while ( (c = fgetc(fp)) != EOF )
{
  if ( c != '\n' && c != '\r' )
  {
    buffer[loop++] = c;
  }
}

关于c - 忽略 C 中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/548214/

相关文章:

c - 我如何从 C 中的 stdio 获取一个 int?

c++ - ios_base::sync_with_stdio(false) 在来自标准输入的两个输入之间不起作用

c - 无法取消引用c中的双指针

c - 哪些系统使用非统一指针表示?

c - 如何清除 C 中的 unsigned char 数组位?

c - 如何使用crcw pram查找数组中的重复元素

c - 编译时程序的输出

c - stdio 过滤器在管道传输时崩溃

c - 我无法使用 getchar() 读取数字

c - fscanf 扫描不正确的信息