我想用这段c语言代码查找并修改文本文档 试了很多次 都写入不了文件 请问是为什么

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
char A[50];
char B[35];
char C[50];
FILE *fp;
int i,a;

printf("请输入您需要修改的数据信息:");
scanf("%s",A);

a=strlen(A);
A[a]='\n';
A[a+1]='\0';

fp=fopen("C:\\Users\\Administrator\\Desktop\\课程设计\\database.txt","r+");
if(fp==NULL)
{
printf("Open failed\n");
exit(1);
}
while(fgets(B,30,fp)!=NULL)
{

if(strcmp(A,B)==0)
{
for(i=1;i<=strlen(A);i++)
{
fprintf(fp,"\b");
}
printf("请输入修改后的信息:");
scanf("%s",C);
fprintf(fp,"%s",C);
fclose(fp);
break;
}
else
{
fseek(fp,1L,SEEK_CUR);
}
}
return 0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
char A[50]; 
char B[35];
char C[50];
    FILE *fp;
int i,a;

printf("请输入您需要修改的数据信息:");
scanf("%s",A);

a=strlen(A);
    A[a]='\n';
A[a+1]='\0';

fp=fopen("C:\\Users\\Administrator\\Desktop\\课程设计\\database.txt","r+");
if(fp==NULL)
{
printf("Open failed\n");
exit(1);
}
while(fgets(B,30,fp)!=NULL)
{

if(strcmp(A,B)==0)
{
for(i=1;i<=strlen(A);i++)
{
fprintf(fp,"\b");
}
printf("请输入修改后的信息:");
scanf("%s",C);
fprintf(fp,"%s",C);
fclose(fp);
break;
}
else
{
fseek(fp,1L,SEEK_CUR);
}
}
return 0;

温馨提示:内容为网友见解,仅供参考
无其他回答

我想用这段c语言代码查找并修改文本文档 试了很多次 都写入不了文件 请...
a;printf("请输入您需要修改的数据信息:");scanf("%s",A);a=strlen(A); A[a]='\\n';A[a+1]='\\0';fp=fopen("C:\\\\Users\\\\Administrator\\\\Desktop\\\\课程设计\\\\database.txt","

为什么C语言程序输入不了内容,有什么错误?
而你的循环条件也不对,你那样写,字符数组,浮点数组循环输入次数是不一样的,要分开循环。另外scanf输入默认是空格分隔,所以字符串和字符串之间要有空格,每个数字之间也要空格。像这样输入:include <stdio.h> int main(){ int i,j;char c[5][20];char s[5][20];float a[11][6];printf...

c语言用rb+读写打开文件为什么fwrite写入不了
我用rb+是想先读取再写入,为的是修改文件中的信息,只是修改后总是保存不了,文件中的数据不变 回答: 你用rb ,读取了,要修改的话,要重新打开文件,...

怎么用C语言修改文件内容
系统默认的是以文本模式打开,可以修改全部变量_fmode的值来修改这个设置,例如_fmode=O_TEXT;就设置默认打开方式为文本模式;而_fmode=O_BINARY;则设置默认打开方式是二进制模式。我们也可以在模式字符串中指定打开的模式,如"rb"表示以二进制模式打开只读文件,"w+t"或"wt+"表示以文本模式打开读\/...

C语言中指针读写文件,问什么记事本都是乱码,怎么改呢?
主要问题在文件的打开方式不对,fread, fwrite函数最好以二进制模式打开文件,即打开方式加上b,即(rb, wb)。在unix\/Linux系统应该没问题。以下是问题解释:二进制和文本模式的区别 1.在windows系统中,文本模式下,文件以""代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\\n"时,函数会...

怎样执行文本文档里的C语言代码
①打开VC++6.0.②点击文件->新建->工程WIN32 Console Application(控制台程序),并填写工程名称,选择保存路径。确定->选择一个空程序->出来一个新建程序信息,点确定。③新建->文件C++ Source File 并填写文件名、保存路径。④将代码复制到编辑框中。⑤点击组建->开始调试->go,稍等一会,即可编译...

C语言代码运行不出现象可能有哪些原因?
或在特定的环境中运行代码。逻辑问题:代码逻辑存在问题,导致代码无法正确执行。可以检查代码逻辑是否正确,是否存在死循环、递归深度过大等问题。综上,C语言代码运行不出现象可能有多种原因,需要逐一排查解决。可以利用编译器和调试工具来定位问题,或参考其他人的代码或文档来解决问题。

C语言读取文本文档中的信息,读到一半就停了
这个文件每行的最后不是,,而是换行符\\n 把fscanf,最后一个占位符%[^,]改成%[^\\n]就行了。

求c语言大神解答在visual studio上运行代码出现这个问题,e盘中文件创 ...
一个地方有误:if (fp =NULL)。注意:C语言中“=”是赋值符号,这里相当于将NULL赋值给了fp,意味着fp始终是空的。比较是否相等应该是关系符号“==”。所以应该改为:fp==NULL。结果

C语言如何对.TXT文本文档进行操作
你的数据很规整,每行10列,可以定义一个结构体数组 将文件全部读入数组,然后将第5列为000对应的第4列修改为BLOCK 然后将数组内容写回文件

相似回答
大家正在搜