在C中打印超过80个字符的行

甲硅通酮

我不确定为什么不做这项工作。我正在尝试从输入中打印超过80个字符的行。但是我根本没有得到正确的字符。我不确定我在做什么错。那里的任何人都知道吗?

注意:我不希望您将执行此功能的整个新程序写给我(打印长于80的行)。我只是想知道程序的错误之处。更正

注意:最后一行会覆盖前几行。

#include <stdio.h>
#define MAXARRAYSIZE 500

char c;
int i = 0;
int j = 0;
int jCopy = 0;
char line[MAXARRAYSIZE];
char linesToPrint[MAXARRAYSIZE][MAXARRAYSIZE];

void emptyArray(char theArray[]);

void InsertArrayIntoArray(char to[MAXARRAYSIZE][MAXARRAYSIZE], char from[], int toIndex, int lengthSoFar);

void printArray(char theArray[MAXARRAYSIZE][MAXARRAYSIZE], int lengthSoFarX);

int main(void) {
    while ((c = getchar()) != EOF) {
        if (i > MAXARRAYSIZE) {
            i = 0;
        }
        if (j > MAXARRAYSIZE) {
            j = 0;
        }
        if (c != '\n') {
            line[i] = c;
            i++;
            //printf("%d",i);
        } else {
            printf("\n j:%d \n i:%d", j, i);
            j++;
            jCopy = j;
            if (i >= 10) {
                InsertArrayIntoArray(linesToPrint, line, j, i);
                //printArray(linesToPrint, j, i);
            }
            emptyArray(line);
            i = 0;
        }
    }
    printArray(linesToPrint, jCopy);
}

void emptyArray(char theArray[]) {
    int i;
    for (i = 0; i < sizeof(theArray) / sizeof(theArray[0]); i++) {
        theArray[i] = 0;
    }
}

void InsertArrayIntoArray(char to[MAXARRAYSIZE][MAXARRAYSIZE], char which[], int toSize, int whichSize) {
    int i, j;
    //printf("\n To size: %d \t Which Size: %d",toSize,whichSize);
    for (i = 0; i < toSize; i++) {
        for (j = 0; j < whichSize; j++) {
            to[i][j] = which[j];
        }
    }
}

void printArray(char theArray[MAXARRAYSIZE][MAXARRAYSIZE], int lengthSoFarX) {
    int i, j;
    for (i = 0; i < lengthSoFarX; i++) {
        printf("\n Line %d :", i + 1);
        printf(" %s\n", theArray[i]);
    }
}
甲硅通酮

首先,无法获取sizeof(theArray),因为正如约阿希姆·皮勒伯格(Joachim Pileborg)指出的那样,该数组是指针。第二个错误是在InsertArrayIntoArray函数中。应该是这样的:

void InsertArrayIntoArray(char to[MAXARRAYSIZE][MAXARRAYSIZE], char which[], int toSize, int whichSize) {
    int i, j;
    //printf("\n To size: %d \t Which Size: %d", toSize, whichSize);
    for (j = 0; j < whichSize; j++) {
        to[toSize][j] = which[j];
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中一行中不超过80个字符是什么意思?

来自分类Dev

为什么在引号中打印时echo会将长行分成80个字符?(以及如何解决?)

来自分类Dev

打印所有超过 5 个字符的行的代码

来自分类Dev

如何删除txt文件中超过140个字符的行?

来自分类Dev

从超过 20 个字符的行中删除前两个引号

来自分类Dev

如果字符数限制超过80个字符,则不会发送推送通知

来自分类常见问题

从查询字段中检索超过255个字符

来自分类Dev

从查询字段中检索超过255个字符

来自分类Dev

在emacs中突出显示行*少于* 80个字符

来自分类Dev

异常:参数的长度超过了C#中128个字符的限制

来自分类Dev

如何在Markdown中以80个字符换行?

来自分类Dev

编写程序(用C语言编写)以打印所有长度超过10个字符的输入行

来自分类Dev

sed超过100000个字符

来自分类Dev

从 C 中的字符数组打印出一个字符串

来自分类Dev

在一行bash脚本中打印出5个字符

来自分类Dev

C ++中的0个字符

来自分类Dev

C中的2个字符

来自分类Dev

我可以用超过2个字符的十六进制打印符号吗?

来自分类Dev

Buffer.prototype.toString不能打印超过500个字符

来自分类Dev

如何在Objective-c中从Xcode stdin读取超过1024个字符的字符串

来自分类Dev

printf:%* c不能打印少于1个字符

来自分类Dev

在 C 中,如何打印出一个字符数组然后清空它?

来自分类Dev

尝试从文件中打印随机行,但一次只能打印一个字符

来自分类Dev

如果用户输入的字符数超过16个字符,为什么我的C程序会两次打印消息?

来自分类Dev

文本框不接受超过1个字符,而不会在C#中消失

来自分类Dev

在C程序中打印单词的每个字符

来自分类Dev

如何在Java中轻松地打印出10行的10个字符(或字符串)

来自分类Dev

当TextField中的字符串超过5个字符时启用按钮

来自分类Dev

倒数算法中奇怪的字符输出,超过4个字符输入

Related 相关文章

  1. 1

    在Python中一行中不超过80个字符是什么意思?

  2. 2

    为什么在引号中打印时echo会将长行分成80个字符?(以及如何解决?)

  3. 3

    打印所有超过 5 个字符的行的代码

  4. 4

    如何删除txt文件中超过140个字符的行?

  5. 5

    从超过 20 个字符的行中删除前两个引号

  6. 6

    如果字符数限制超过80个字符,则不会发送推送通知

  7. 7

    从查询字段中检索超过255个字符

  8. 8

    从查询字段中检索超过255个字符

  9. 9

    在emacs中突出显示行*少于* 80个字符

  10. 10

    异常:参数的长度超过了C#中128个字符的限制

  11. 11

    如何在Markdown中以80个字符换行?

  12. 12

    编写程序(用C语言编写)以打印所有长度超过10个字符的输入行

  13. 13

    sed超过100000个字符

  14. 14

    从 C 中的字符数组打印出一个字符串

  15. 15

    在一行bash脚本中打印出5个字符

  16. 16

    C ++中的0个字符

  17. 17

    C中的2个字符

  18. 18

    我可以用超过2个字符的十六进制打印符号吗?

  19. 19

    Buffer.prototype.toString不能打印超过500个字符

  20. 20

    如何在Objective-c中从Xcode stdin读取超过1024个字符的字符串

  21. 21

    printf:%* c不能打印少于1个字符

  22. 22

    在 C 中,如何打印出一个字符数组然后清空它?

  23. 23

    尝试从文件中打印随机行,但一次只能打印一个字符

  24. 24

    如果用户输入的字符数超过16个字符,为什么我的C程序会两次打印消息?

  25. 25

    文本框不接受超过1个字符,而不会在C#中消失

  26. 26

    在C程序中打印单词的每个字符

  27. 27

    如何在Java中轻松地打印出10行的10个字符(或字符串)

  28. 28

    当TextField中的字符串超过5个字符时启用按钮

  29. 29

    倒数算法中奇怪的字符输出,超过4个字符输入

热门标签

归档