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