求助
c4droid吧
全部回复
仅看楼主
level 10
#include"stdio.h"
void main() {
char aj1='1', aj2='2', aj3='3', aj4='4';
FILE *fp1;
FILE *fp2;
FILE *fp3;
FILE *fp4;
char ch;
if ((fp1 = fopen("123.txt", "r")) == NULL) {
printf("文件打开失败!\n");
}
aj1 = fgetc(fp1);
aj2 = fgetc(fp2);
aj3 = fgetc(fp3);
aj4 = fgetc(fp4);
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
}
2016年02月12日 13点02分 1
level 10
2016年02月12日 13点02分 2
level 10
#include"stdio.h"
void main() {
char aj1='1', aj2='2', aj3='3', aj4='4';
FILE *fp1;
FILE *fp2;
FILE *fp3;
FILE *fp4;
fp1 = fopen("aj1.txt", "r");
fp2 = fopen("aj2.txt", "r");
fp3 = fopen("aj3.txt", "r");
fp4 = fopen("aj4.txt", "r");
aj1 = fgetc(fp1);
aj2 = fgetc(fp2);
aj3 = fgetc(fp3);
aj4 = fgetc(fp4);
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
}
一楼代码错了。。。
2016年02月12日 13点02分 3
level 10

2016年02月12日 14点02分 4
level 11
我有点不懂你的意思。前面给变量赋了值,后面又赋值。你是不是想把之前的值存到文本中去?
2016年02月12日 17点02分 5
前面的是初始化的值然后后面是读取文本中的值
2016年02月13日 01点02分
level 11
#include"stdio.h"
int main(void)
{
char aj1, aj2, aj3, aj4;
FILE *fp1;
FILE *fp2;
FILE *fp3;
FILE *fp4;
fp1 = fopen("/sdcard/aj1.txt", "r");
fp2 = fopen("/sdcard/aj2.txt", "r");
fp3 = fopen("/sdcard/aj3.txt", "r");
fp4 = fopen("/sdcard/aj4.txt", "r");
aj1 = fgetc(fp1);
aj2 = fgetc(fp2);
aj3 = fgetc(fp3);
aj4 = fgetc(fp4);
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
printf("%c %c %c %c",aj1,aj2,aj3,aj4);
return 0;
}
2016年02月13日 02点02分 7
level 11
首先,相对路径肯定是不行的,当前程序是存在c4所在data里面。所以你要弄绝对路径。而你这个也只能读取每个文本的第一个字节。
2016年02月13日 02点02分 8
为啥输出的是乱码
2016年02月13日 03点02分
@急急急传冠哥 你4个aj.txt里面存了什么?汉字是不行的,Android是utf-8编码的,一个汉字由1-7 个字节组成,一般是两个字节表示一个汉字。而fegetc函数只读取一个字节
2016年02月13日 03点02分
@小白爱观察 是数字
2016年02月13日 03点02分
level 11
你自己检查吧。不是输出参数或格式问题就是文本的第一个符号不止一个字节
2016年02月13日 03点02分 9
level 10
#include<stdio.h>
int main(void) {
FILE *fp1;
FILE *fp2;
FILE *fp3;
FILE *fp4;
char aj1, aj2, aj3, aj4;
printf("请输入按键1\n");
gets(aj1);
printf("请输入按键2\n");
gets(aj2);
printf("请输入按键3\n");
gets(aj3);
printf("请输入按键4\n");
gets(aj4);
fp1 = fopen("/sdcard/aj1.txt", "w");
fp2 = fopen("/sdcard/aj2.txt", "w");
fp3 = fopen("/sdcard/aj3.txt", "w");
fp4 = fopen("/sdcard/aj4.txt", "w");
if (fp1 == NULL) {
printf("不能定义按键!");
return 0;
}
fprintf(fp1, "%c", aj1);
fprintf(fp2, "%c", aj2);
fprintf(fp3, "%c", aj3);
fprintf(fp4, "%c", aj4);
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
return 0;
}
和之前一样,位置也是对的。@右眼星辰
2016年02月13日 04点02分 10
level 11
aj是单个字符,不是字符串,用getchar而不是gets
2016年02月13日 11点02分 11
level 11
2016年02月13日 11点02分 12
level 11
楼主,通过这么多次对话,我发现你的基础不扎实。
建议你买一本关于c的书看看,打牢基本功!
加油
2016年02月13日 11点02分 13
谢谢
2016年02月13日 12点02分
level 11
逻辑问题,既然打开文件失败,那么是不是就没有必要再读取?
2016年02月14日 12点02分 14
已解决
2016年02月14日 14点02分
1