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