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就可以了出现在一行上,每个行都有一个空格字符。 错误:
错误:下标 value不是数组,指针或向量 if(c [i] =='\ n')
答案 0 :(得分:1)
不需要for
循环。你可以删除它。 `
c = fgetc(textFile);
while (c != EOF){
if(c == '\n')
{
c = ' ';
}
printf("%c" , c);
c = fgetc(textFile);
}
char
不是字符串,字符是字符。所以c[i]
并不意味着什么。它希望存储一个字符串,使用由\0
终止的char数组:
char s[100];
s[99]='\0'
printf("%s",s);
答案 1 :(得分:1)
int c;//return of fgetc type is int
while(EOF!=(c=fgetc(textFile)))
putchar(c == '\n' ? ' ' : c);