求助QAQ,C++怎样从文件中读写特定的两列,然后输出到另一个文件

文件就是这样的...要求读写出经度和纬度....每个参数中间都以逗号隔开要求输出文件是这样,省略号表示后面的和上面一样的规律求支援啊求支援。。。。。。。。。... 文件就是这样的...要求读写出经度和纬度....每个参数中间都以逗号隔开
要求输出文件是这样,省略号表示后面的和上面一样的规律

求支援啊求支援。。。。。。。。。
展开
 我来答
百度网友b0e28cae4
2013-01-14 · TA获得超过4016个赞
知道大有可为答主
回答量:1275
采纳率:85%
帮助的人:612万
展开全部
#include <stdio.h>
#include <string.h>

// 这里设置输入文件的路径
#define INPUT_FILE_PATH "input.txt"

// 这里设置输出文件的路径
#define OUTPUT_FILE_PATH "output.txt"

// 一行的最大长度,如果文件长度超过了,设置更大的值
#define MAX_LINE_SIZE 4000

// 一行中的数据的分隔符号。从图片中看,应该是英文的逗号,而不是中文的逗号的。
// 你可以确认一下,然后修改一下下面的常量。
#define SEPERATOR ","

void readData(FILE *input, FILE *output)
{
char buffer[MAX_LINE_SIZE];

// 跳过第一行(第一行是每列的名字)
fgets(buffer, MAX_LINE_SIZE, input);

while(NULL != fgets(buffer, MAX_LINE_SIZE, input))
{ /* 开始按行读入数据。每行中的数据,以 SEPERATOR 分隔。
源文件中每行有 7 列数据:
0 1 2 3 4 5 6
车牌号 时间 经度 纬度 状态 速度 方向

现在需要的是第 2,3 列的数据。
*/

// 跳过第 0 列
strtok(buffer, SEPERATOR);
// 跳过第 1 列
strtok(NULL, SEPERATOR);

// 读取第 2 列的数据,并写到输出文件
fprintf(output, "%s", strtok(NULL, SEPERATOR));
// 读取第 3 列的数据,并写到输出文件
fprintf(output, " %s\n", strtok(NULL, SEPERATOR));
}
}

int main(int argc, char *argv[])
{
FILE *input = fopen(INPUT_FILE_PATH, "r");
FILE *output = fopen(OUTPUT_FILE_PATH, "w");

if(NULL == input)
printf("打开输入文件:%s 失败!\n", INPUT_FILE_PATH);
else if(NULL == output)
printf("打开输出文件:%s 失败!\n", OUTPUT_FILE_PATH);
else
{
readData(input, output);
printf("操作完成!\n");

fclose(input);
fclose(output);
}
return 0;
}
LZZZ213
2013-01-13
知道答主
回答量:7
采纳率:0%
帮助的人:3.6万
展开全部
这 貌似不难吧,你可以分行分别读到字符串里,然后再对每个字符串进行处理,比如检测逗号的个数,检测到第二个逗号后,把前后内容都去掉只保留经度纬度信息不就好了
追问
有空的话跪求代码...文件输入输出这一部分没学好的说.....QAQ有完整代码加分
追答
FILE *stream;

string array[256];
char c[100];
stream = _wfopen(L"**.out",L"a+");

inti=0;
while ((fgets (c, 100, stream)) != NULL)
{
array[i++] = c;
}
fclose(stream);

这段代码可以分行把字符串读到数组里,剩下的自己想办法啊亲,要学编程就得学会自己想办法啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式