你好我试图做一个简单的程序,将读取文本和存储到一个字符串,并最终返回到我称为我的功能。我到目前为止是这样的:阅读文件并存储到一个字符串
void crawler() {
FILE *file;
char line[256], letra[256];
int j = 0;
file = fopen("teste.txt", "r");
letra[j] = fgetc(file);
j++;
while (fgets(line, sizeof(line), file)) {
for(int i = 0; line[i] != 00; i++)
{
if(line[i] == 46)
{
if(line[i+1] == 46)
{
letra[j] = " ";
j++;
}
}
else
{
letra[i] = line[i];
j++;
}
}
}
但我不知道这是否是正确的方法。我应该使用malloc做一个动态Char吗?我试图做什么的最佳方法是什么?
[编辑]
即时得到在这一行错误:letra[j] = " ";
兼容的指针到整数的转换
你不返回任何东西,也不要被诱惑来回报您的缓冲区的地址,因为它是在堆栈上,而且将成为无效尽快你回来。所以是的,我会'malloc'一个缓冲区。 –
你为什么要移动读取的数据?首先你将它读入'line'中,然后将它复制到'letra'中。为什么和为了什么? – ForceBru
关于46的特别之处是什么? – chux