在文本文件中,我有“abbcccdddd”。我想将“abcd”存储在一个数组中。C删除char数组中的重复字符
之前:TX [0] = A,TX [1] = B,TX [3] = C,TX [6] = d
后:TX [0] = A,TX [1] = b,TX [2] = C,TX [3] = d
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
FILE *fp = fopen("D:\\C#\\Zip\\Text001.txt", "r");
char x;
int size;
int j, k;
int i = 0;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char tx[size];
x = fgetc(fp);
while (x != EOF)
{
tx[i] = x;
printf("%c", tx[i]);
x = fgetc(fp);
i++;
}
}
为什么输出ABC,而不是ABCD? – GoodDeeds
你的尝试似乎根本没有任何尝试。它只是读取文件中的数据。这会让你看到你描述的*起点。 –
当您从文件中读取字符时,重复删除会更容易,因此数组永远不会重复运行重复字符。你可以通过对你已有的东西进行一些小修改来完成。 –