【发布时间】:2019-08-27 15:30:46
【问题描述】:
我正在努力将一个字符串从一个文件打印到一个新文件,并且似乎无法绕开它也无法让它工作,任何帮助都会很棒。
文件如下所示:
纽约,4:20,3:03 堪萨斯城,12:03,3:00 北湾,16:00,0:20 卡普斯卡辛,10:00,4:02 雷湾,0:32,0:31我正在尝试将 fprintf 只是文件名添加到一个名为 theCities.txt 的新文件中。这个逻辑在我的脑海中是有道理的,但在实现方面,我不知道如何fprintf 指向字符串的指针。任何帮助都会很棒。
while (fgets(flightInfo[i], 1024, fp) > 0) {
clearTrailingCarraigeReturn(flightInfo[i]);
// display the line we got from the fill
printf(" >>> read record [%s]\n", flightInfo[i]);
char *p = flightInfo[i];
for (;;) {
p = strchr(p, ',');
fp = fopen("theCities.txt", "w+");
fprintf(fp, "%s\n", p);
if (!p)
break;
++p;
}
i++;
}
【问题讨论】:
-
while (fgets(flightInfo[i], 1024, fp) > 0)内的fp = fopen("theCities.txt", "w+");很奇怪。发布minimal reproducible example -
为什么在循环中每次都打开该文件?而且你永远不会关闭它。
-
然后您重新使用用于输入输出的 fp。很多事情都可能(并且将会)出错。