C 我如何在使用字符数组的同时重写它?

C 我如何在使用字符数组的同时重写它?,c,C,我是C语言的新手,所以我不知道怎么做。我有这样一个while循环: char my_line[MAXLINE]; while(gets(my_line) != NULL) { //process line } 目前,该while循环从stdin获取输入。有人能告诉我如何使用字符数组吗?例如,将文件中的数据读入字符数组,然后将字符数组传递给while循环?非常简单。就用吧。这并不解决动态内存分配问题,本例使用固定大小的字符数组 FILE * pFile; char mystr

我是C语言的新手,所以我不知道怎么做。我有这样一个while循环:

char my_line[MAXLINE];
while(gets(my_line) != NULL) {
    //process line
}
目前,该while循环从stdin获取输入。有人能告诉我如何使用字符数组吗?例如,将文件中的数据读入字符数组,然后将字符数组传递给while循环?

非常简单。就用吧。这并不解决动态内存分配问题,本例使用固定大小的字符数组

   FILE * pFile;
   char mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) 
   {
       perror ("Error opening file");
   }
   else 
   {
       fgets (mystring , 100 , pFile);
       fclose (pFile);
   }

   //mystring now contains the file with EOF terminator.
很简单。就用吧。这并不解决动态内存分配问题,本例使用固定大小的字符数组

   FILE * pFile;
   char mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) 
   {
       perror ("Error opening file");
   }
   else 
   {
       fgets (mystring , 100 , pFile);
       fclose (pFile);
   }

   //mystring now contains the file with EOF terminator.

永远不要使用
获取
。从未。永远不会。无法指定
获取
插入数据的缓冲区大小,因此任何使用
获取
的程序都存在严重的安全漏洞
fgets
是一个可用的替代方案。@JamesMcNellis:这不是我的代码,但我一定会记住这一点。谢谢。永远不要使用
get
。从未。永远不会。无法指定
获取
插入数据的缓冲区大小,因此任何使用
获取
的程序都存在严重的安全漏洞
fgets
是一个可用的替代方案。@JamesMcNellis:这不是我的代码,但我一定会记住这一点。谢谢,太棒了。。。非常感谢你!令人惊叹的。。。非常感谢你!