void createTextFile()
{
    FILE *textFile = fopen("/Users/Trenae_Alyxandria_Johnson/Desktop/myTextFile.txt", "w");
    char c;
    fputs("1\n2\n3\n4\n5", textFile);
    fclose(textFile);

    textFile = fopen("/Users/Trenae_Alyxandria_Johnson/Desktop/myTextFile.txt", "r");
    while (c != EOF)
    {
        c = fgetc(textFile);
    }
    for(int i = 0; i < 6; i++)
    {
        if(c(i) == '\n')
        {
            c(i) = ' ';
        }
    }

    printf("%c" , c);
    fclose(textFile);
}

我正在尝试删除新行字符并将其改为空格。我知道它不是一个数组,但我想我是在问如何解析这个文件,看看我什么时候到达新行,然后删除它并用一个空格替换它,这样第一次输入的1-5现在可以出现在一行,每个行之间用一个空格字符分隔。
错误:
错误:已订阅
值不是数组、指针或向量
如果(c[i]='\n')

最佳答案

不需要for循环。你可以移除它。`

 c = fgetc(textFile);
 while (c != EOF){
    if(c == '\n')
    {
        c = ' ';
    }
    printf("%c" , c);
    c = fgetc(textFile);
 }

Achar不是字符串,char是字符。所以c[i]并不意味着什么。如果要存储字符串,请使用以\0结尾的字符数组:
 char s[100];
 s[99]='\0'
 printf("%s",s);

10-08 02:07