Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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 从文件中读取数据,同时忽略非字母字符并存储要插入到trie中的变量_C - Fatal编程技术网

C 从文件中读取数据,同时忽略非字母字符并存储要插入到trie中的变量

C 从文件中读取数据,同时忽略非字母字符并存储要插入到trie中的变量,c,C,我基本上是试图从文件中读取数据,而忽略所有非字母字符,非字母字符前面的任何字符都将被视为单词的结尾,应该插入到trie中。有什么想法吗? 这是我当前的代码,它有seg故障 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> char input; void readDict(FILE *dict_file) { int li

我基本上是试图从文件中读取数据,而忽略所有非字母字符,非字母字符前面的任何字符都将被视为单词的结尾,应该插入到trie中。有什么想法吗? 这是我当前的代码,它有seg故障

 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>

 char input;

void readDict(FILE *dict_file)
{
    int line = 0;
    char curr;

    while ( (curr = fgetc(dict_file))!= EOF)
    {
        if(isalpha(curr))
        {
            strcpy(input,curr);
        }
    }
}

int main(int argc, char * argv[])
{
    if (argc < 2)
            printf("invalid input");
    else
    {
        FILE *pFile = fopen(argv[1],"r");
        readDict(pFile);
    }
    return 0;
}
#包括
#包括
#包括
#包括
字符输入;
void readDict(文件*dict\u文件)
{
内线=0;
半货币;
而((curr=fgetc(dict_文件))!=EOF)
{
if(伊萨尔法(货币))
{
strcpy(输入,当前);
}
}
}
int main(int argc,char*argv[])
{
如果(argc<2)
printf(“无效输入”);
其他的
{
文件*pFile=fopen(argv[1],“r”);
readDict(pFile);
}
返回0;
}

分段错误是由strcpy
生成的。必须将
char*
作为参数传递给
strcpy
。在您发布的代码中,
input
curr
都属于
char
类型


阅读以了解如何使用strcpy
strcpy

阅读,不确定该怎么做。获取seg故障
strcpy(输入,当前)