我正在尝试读取一个文件,然后读取每个字符,直到我到达一个新行,然后在该行上做一些工作。这是我到目前为止所做的:
  char line[] = "";
  char *charcter = "";
  //If i do this here it works fine, but below it's not working at all
  charcter = "asssss";
  strcat(line,charcter);
  //Read file
  inputFile = fopen(fileName,"r");
  if (inputFile) 
  {
    while ((charcter = (char)getc(inputFile)) != EOF)
           strcat(line,charcter); //This piece code keeps crashing my program on run
    fclose(inputFile);
  }
我是一名 C# 开发人员,我真的很沮丧,我无法弄清楚这件事,请帮忙。
编辑:
我已经修改了片段行并为它分配了内存,如下所示:
char *line = (char*)malloc( 400 *sizeof(char));
现在 while 循环中的 strcat 工作但在获取所有值后崩溃(输入比分配的内存小得多),如果我将相同的 strcat 语句放在 if 语句中,它将采用第一个字母然后崩溃。
那么这里的问题是什么?