Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 通过获取字符来存储字符串_C_String_Char - Fatal编程技术网

C 通过获取字符来存储字符串

C 通过获取字符来存储字符串,c,string,char,C,String,Char,我正在用C语言开发一个应用程序,它要求我通过使用一系列字符来构建字符串。通过以下方式获取字符:ch=fgetc(在_文件中); 和是大写或小写字母。我希望能够获取一系列字符(如“buNny”)并将它们组合成一个字符串,以便打印、存储到另一个文件或与另一个字符串(如“buNny”)进行比较。在C语言中如何做到这一点?似乎您可以做的是分配一个字符数组并将字符放入其中,跟踪您在缓冲区中的位置,以便知道下一个字符放在哪里。(如果您的字符串需要在添加每个字符后成为有效字符串,而不仅仅是在完成所有操作时,请

我正在用C语言开发一个应用程序,它要求我通过使用一系列字符来构建字符串。通过以下方式获取字符:
ch=fgetc(在_文件中);

和是大写或小写字母。我希望能够获取一系列字符(如“buNny”)并将它们组合成一个字符串,以便打印、存储到另一个文件或与另一个字符串(如“buNny”)进行比较。在C语言中如何做到这一点?

似乎您可以做的是分配一个字符数组并将字符放入其中,跟踪您在缓冲区中的位置,以便知道下一个字符放在哪里。(如果您的字符串需要在添加每个字符后成为有效字符串,而不仅仅是在完成所有操作时,请不要忘记在末尾维护
\0
。)您需要跟踪字符数组的大小,以便通过比较当前位置和大小来判断它何时已满。当它变得太满时,将其重新定位到更大的尺寸并继续

通常要做的一件事是每次将缓冲区的大小增加一倍,这使您需要realloc的次数相对较少(与字符串的总长度相比)。当然,为缓冲区的大小选择一个好的初始值会有很大帮助