检查我对特定角色的内存 - 做不到

标签 c file-io

我已经为文件分配了内存,以便能够从输入文件中读取数据。

((mem = (unsigned char *) malloc (filesize)) == NULL)

我从内存中读取它(技术上是文件)。该循环将读取内存内容并将每个字符写入另一个输出文件,直到达到预设限制,然后它将继续写入下一行(每行默认 40 个)。我正确地读取和写入,以及每行以 40 换行,但是,输入文件有多行不同长度的行,并且写入新文件包括“\n”(新行),从而使多个行长度但不超过 40。我需要检查何时有“\n”并跳过它。

这是我的问题,我不知道如何检查我是否点击了“\n”。

这是我悲伤的尝试(循环的一部分):

fread(mem, 1,filesize, inf);
for(i=0; i < filesize; i++)
{
*temp = mem[i];
    if (!strcmp(temp,"\n"));
        {
            i++;
        }

最佳答案

mem 是一个动态字符数组,因此只需检查有问题的字符:

for(i=0; i < filesize; i++)
{
    if (mem[i] != '\n')
    {
         //   do stuff
    }
    //else it's a newline, don't do anything and we'll skip it when i increments next
}

您是否注意到 if 语句后面有一个 ;

关于检查我对特定角色的内存 - 做不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769171/

相关文章:

c - fopen 在尝试打开 bmp 文件(C++)时返回 NULL?

c++ - 开罗表面的文本旋转

C int 到 Mac OS X 上的 char 数组

C指针数组/指针数组消歧

perl - 不能使用未定义的值作为符号 perl

java - 如何在 Java 中循环遍历文本文件,将 7 行对象添加到对象数组中?

PHP file_put_contents 或 fwrite ' and "个字符

c - 矩阵计算器错误 - 无法正常工作

c - 如何在C中打印数组中值的位置

c - 逐行读取直到找到整数 C