在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。将字符串从指定下标p处开始的前q个字符(包括p处字符,q≤p+1)复制到字符串的结尾,形成的新串保存到另一个文件中。比如,abcdefg,从下标3处开始的前2个字符复制到字符串的结尾,得新串:abcdecd。要求:p和q均由键盘输入。
关于#c语言#的问题:将字符串从指定下标p处开始的前q个字符(包括p处字符,q≤p+1)复制到字符串的结尾,q≤p+1)复制到字符串的结尾,形成的新串保存到另一个文件中
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-深度学习进阶 2022-03-03 13:51关注
//在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。 //将字符串从指定下标p处开始的前q个字符(包括p处字符,q≤p+1)复制到字符串的结尾,形成的新串保存到另一个文件中。 //比如,abcdefg,从下标3处开始的前2个字符复制到字符串的结尾,得新串:abcdecd。要求:p和q均由键盘输入。 #pragma warning(disable:4996) //开头加这句或项目、属性、配置属性、C/C++、预处理器、预处理器定义中添加“_CRT_SECURE_NO_WARNINGS” #include <stdio.h> #include <string.h> int main() { FILE *f; char s[80]; char t[80*2]; int p,q; f=fopen("a.txt","w"); fgets(s,80,stdin); if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0; fprintf(f,"%s",s); fclose(f); f=fopen("a.txt","r"); fgets(s,80,f); fclose(f); printf("%s",s); while (1) { printf("\ninput p(0<=p<=%d) q(1<=q<=p+1):",strlen(s)-1); fflush(stdout); rewind(stdin); if (2==scanf("%d%d",&p,&q)) { if (0<=p && p<=strlen(s)-1 && 1<=q && q<=p+1) break; } } strncpy(t,s,strlen(s)-q); t[strlen(s)-q]=0; strncat(t,s+p-q+1,q); f=fopen("b.txt","w"); fprintf(f,"%s",t); fclose(f); return 0; } //d:\test>test.exe //abcdefg //abcdefg //input p(0<=p<=6) q(1<=q<=p+1):3 2 // //d:\test>type a.txt //abcdefg //d:\test>type b.txt //abcdecd //d:\test>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
- ¥15 python爬取bilibili校园招聘网站
- ¥30 求解达问题(有红包)
- ¥15 请解包一个pak文件
- ¥15 不同系统编译兼容问题
- ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
- ¥30 数字电源对DSP芯片的具体要求
- ¥20 antv g6 折线边如何变为钝角
- ¥30 如何在Matlab或Python中 设置饼图的高度
- ¥15 nginx中的CORS策略应该如何配置