从C中的读取文件中删除空格后的输出中的符号

时间:2017-02-09 20:06:22

标签: c file-io

因此,下面基本上是发生问题的代码片段。

我的目标是扫描文件中的名称列表并按字母顺序排列。 我基本上只从下面的文件中包含了第一个名字的代码。 问题是在他们被扫描后如果我立即将其打印出来,我会看到符号类似于Iá┬á┬á┬á在哪里(我假设)文件中有空格。

但即使我删除空格后至少我认为这些符号在打印时仍会出现。

所以我想做的就是摆脱他们这些该死的符号!

    if (ini == 1 || both ==1){
    fr1 = fopen ("players.txt", "r");
    }
    if(fr1 == NULL) {
    perror("Error opening file");
    return(-1);
    }
    fgets(line, 1000, fr1);
    fclose(fr1);

    while(line[inputCount] != '\0'){
        inputCount++;
    }

    j = 0;
    while(line[j] != '\0'){
        if(line[j] == ' '){
            for(int k = j;k<=inputCount;k++){
            line[k] = line[k+1];
            }
            --inputCount;
        }
        j++;
    }

    for (j=0; j<inputCount; j++){
    printf("%c",line[j]); 
    }

这只是我尝试无效的代码片段。

    int count = 0; 
    for(i=0; i < inputCount; i ++){
    char ch = line[i];
    switch (ch) {
    case '.':
    case ',': count = 0; break;
    case ' ': count++; continue;
    default: for ( ; count; count--) putc(' ', stdout); break;
    }
    if (ch == EOF) break;
    putc(ch, stdout);
    }

上面这段代码被抢走了我相信的网站,但除非我用错了;因为我不是100%理解它,我不会撒谎;它不起作用

0 个答案:

没有答案